diff options
Diffstat (limited to 'src/analysis/disass/area.c')
-rw-r--r-- | src/analysis/disass/area.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/analysis/disass/area.c b/src/analysis/disass/area.c index 17df2af..a6e58cd 100644 --- a/src/analysis/disass/area.c +++ b/src/analysis/disass/area.c @@ -440,7 +440,7 @@ void load_code_from_mem_area(mem_area **list, size_t *count, size_t *index, cons /* Récupération des informations de base */ format = G_BIN_FORMAT(g_loaded_binary_get_format(binary)); - proc = get_arch_processor_from_format(G_EXE_FORMAT(format)); + proc = g_loaded_binary_get_processor(binary); bin_data = g_loaded_binary_get_data(binary, &bin_length); area = (*list) + *index; @@ -581,6 +581,9 @@ void load_code_from_mem_area(mem_area **list, size_t *count, size_t *index, cons printf("\n"); + g_object_unref(G_OBJECT(proc)); + + } @@ -626,8 +629,11 @@ static void load_data_from_mem_area(mem_area *area, mem_area *list, size_t count /* Récupération des informations de base */ format = G_BIN_FORMAT(g_loaded_binary_get_format(binary)); - proc = get_arch_processor_from_format(G_EXE_FORMAT(format)); + + proc = g_loaded_binary_get_processor(binary); endianness = g_arch_processor_get_endianness(proc); + g_object_unref(G_OBJECT(proc)); + bin_data = g_loaded_binary_get_data(binary, &bin_length); diff = compute_vmpa_diff(get_mrange_addr(&area->range), start); |