summaryrefslogtreecommitdiff
path: root/src/arch/post.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/post.c')
-rw-r--r--src/arch/post.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/arch/post.c b/src/arch/post.c
index 59ed40e..babe6a9 100644
--- a/src/arch/post.c
+++ b/src/arch/post.c
@@ -63,7 +63,9 @@ void post_process_target_resolution(GArchInstruction *instr, GArchProcessor *pro
GBinRoutine *routine; /* Nouvelle routine trouvée */
GBinSymbol *symbol; /* Nouveau symbole construit */
- op = g_arch_instruction_get_operand(instr, index);
+ g_arch_instruction_lock_operands(instr);
+
+ op = _g_arch_instruction_get_operand(instr, index);
assert(G_IS_IMM_OPERAND(op));
if (g_imm_operand_to_virt_t(G_IMM_OPERAND(op), &addr)
@@ -109,8 +111,10 @@ void post_process_target_resolution(GArchInstruction *instr, GArchProcessor *pro
}
- g_arch_instruction_replace_operand(instr, new, op);
+ _g_arch_instruction_replace_operand(instr, new, op);
}
+ g_arch_instruction_unlock_operands(instr);
+
}