summaryrefslogtreecommitdiff
path: root/plugins/androhelpers/try_n_catch.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/androhelpers/try_n_catch.c')
-rw-r--r--plugins/androhelpers/try_n_catch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/androhelpers/try_n_catch.c b/plugins/androhelpers/try_n_catch.c
index 288fa1e..27c7959 100644
--- a/plugins/androhelpers/try_n_catch.c
+++ b/plugins/androhelpers/try_n_catch.c
@@ -127,6 +127,9 @@ static void attach_caught_code(const GLoadedBinary *binary, const GBinRoutine *r
first = g_arch_instruction_find_by_address(instrs, start, true);
next = g_arch_instruction_find_by_address(instrs, end, true);
+ if (start == NULL || next == NULL)
+ return;
+
/* Si des détachements sont nécessaires... */
if (!g_arch_instruction_has_sources(first))
@@ -272,7 +275,11 @@ static caught_exception **build_all_destinations_list(const GLoadedBinary *binar
continue;
type = get_type_from_dex_pool(format, handlers->handlers[j].type_idx);
+ if (type == NULL)
+ continue;
+
excep->desc = g_data_type_to_string(type);
+ g_object_unref(G_OBJECT(type));
(*count)[i]++;