From 9c9579aef3942137924775195b4685a098bbf2c7 Mon Sep 17 00:00:00 2001 From: water111 <48171810+water111@users.noreply.github.com> Date: Fri, 30 Jul 2021 22:51:55 -0400 Subject: [PATCH] add try catch around static refs (#732) --- decompiler/ObjectFile/ObjectFileDB_IR2.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp index d94d824b92..c48d2265e5 100644 --- a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp +++ b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp @@ -624,7 +624,12 @@ void ObjectFileDB::ir2_insert_anonymous_functions() { (void)segment_id; (void)data; if (func.ir2.top_form && func.ir2.env.has_type_analysis()) { - total += insert_static_refs(func.ir2.top_form, *func.ir2.form_pool, func, dts); + try { + total += insert_static_refs(func.ir2.top_form, *func.ir2.form_pool, func, dts); + } catch (std::exception& e) { + func.warnings.general_warning("Failed static ref finding: {}\n", e.what()); + lg::error("Function {} failed static ref: {}\n", func.guessed_name.to_string(), e.what()); + } } });