summaryrefslogtreecommitdiff
path: root/src/analysis/disass/links.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/links.c')
-rw-r--r--src/analysis/disass/links.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/analysis/disass/links.c b/src/analysis/disass/links.c
index ffdee36..381aedc 100644
--- a/src/analysis/disass/links.c
+++ b/src/analysis/disass/links.c
@@ -56,7 +56,7 @@ void establish_natural_link(GArchInstruction *instr, GArchInstruction *prev)
{
size_t count; /* Nbre de sources affichées */
bool has_src; /* Présence de sources ? */
- instr_link_t *other; /* Instruction diverse liée */
+ const instr_link_t *other; /* Instruction diverse liée */
size_t i; /* Boucle de parcours */
bool no_natural; /* Aucun lien naturel présent */
bool no_need; /* Pas de besoin pour ce lien */
@@ -79,6 +79,8 @@ void establish_natural_link(GArchInstruction *instr, GArchInstruction *prev)
if (other->type != ILT_REF)
has_src = true;
+ unref_instr_link(other);
+
}
g_arch_instruction_unlock_src(instr);
@@ -135,6 +137,8 @@ void establish_natural_link(GArchInstruction *instr, GArchInstruction *prev)
}
+ unref_instr_link(other);
+
}
check_done:
@@ -173,6 +177,8 @@ void establish_natural_link(GArchInstruction *instr, GArchInstruction *prev)
}
+ unref_instr_link(other);
+
}
g_arch_instruction_unlock_src(instr);