summaryrefslogtreecommitdiff
path: root/src/analysis/disass/area.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/area.c')
-rw-r--r--src/analysis/disass/area.c10
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);