diff options
Diffstat (limited to 'src/analysis/disass/links.c')
-rw-r--r-- | src/analysis/disass/links.c | 8 |
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); |