summaryrefslogtreecommitdiff
path: root/src/analysis/disass/links.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-12-15 13:40:28 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-12-15 13:40:28 (GMT)
commit124c8410dbfcad59d66b850c50c96ec73a607ab7 (patch)
treeb7127c66abfccd11b9126741e2809a893ee44143 /src/analysis/disass/links.c
parentdb1a6171007a6641a4659392c9bcc05670396643 (diff)
Defined proper accesses to instructions loaded by a processor.
Diffstat (limited to 'src/analysis/disass/links.c')
-rw-r--r--src/analysis/disass/links.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/analysis/disass/links.c b/src/analysis/disass/links.c
index 82da37d..18bbeb3 100644
--- a/src/analysis/disass/links.c
+++ b/src/analysis/disass/links.c
@@ -178,7 +178,7 @@ static void convert_immediate_into_target(GArchInstruction *instr, size_t index,
* *
******************************************************************************/
-void establish_links_for_instruction(GArchInstruction *instr, GBinFormat *format, const GArchProcessor *proc)
+void establish_links_for_instruction(GArchInstruction *instr, GBinFormat *format, GArchProcessor *proc)
{
bool skip; /* Saut des conversions */
size_t count; /* Nombre d'opérandes présents */
@@ -209,7 +209,10 @@ void establish_links_for_instruction(GArchInstruction *instr, GBinFormat *format
target = g_arch_processor_find_instr_by_address(proc, &addr);
if (target != NULL)
+ {
g_arch_instruction_link_with(instr, target, ILT_REF);
+ g_object_unref(G_OBJECT(target));
+ }
}