summaryrefslogtreecommitdiff
path: root/plugins/arm/v7/fetch.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-19 11:27:16 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-19 11:27:16 (GMT)
commitc930f8b060034abefbae48ad76a9b8d1e55b1ec9 (patch)
tree9461b8002a833f9db443b8859045a30e575b13c8 /plugins/arm/v7/fetch.c
parent5e6f3a42a2f57c563f34e5ea4d9c377d8618e871 (diff)
Tracked deeper the reference counts for ARMv7 registers.
Diffstat (limited to 'plugins/arm/v7/fetch.c')
-rw-r--r--plugins/arm/v7/fetch.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/arm/v7/fetch.c b/plugins/arm/v7/fetch.c
index bf60d9c..09278c9 100644
--- a/plugins/arm/v7/fetch.c
+++ b/plugins/arm/v7/fetch.c
@@ -606,7 +606,7 @@ void apply_write_back_from_registers(GArchInstruction *instr, GArchProcessor *pr
regop = G_ARMV7_REGISTER_OPERAND(op);
- reg_ref = G_ARCH_REGISTER(g_armv7_register_operand_get(regop));
+ reg_ref = g_register_operand_get_register(G_REGISTER_OPERAND(regop));
op = _g_arch_instruction_get_operand(instr, 1);
assert(G_IS_ARMV7_REGLIST_OPERAND(op));
@@ -623,6 +623,8 @@ void apply_write_back_from_registers(GArchInstruction *instr, GArchProcessor *pr
inside = (g_arch_register_compare(reg_ref, G_ARCH_REGISTER(reg)) == 0);
+ g_object_unref(G_OBJECT(reg));
+
}
if (!inside)