summaryrefslogtreecommitdiff
path: root/src/analysis/disass/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/loop.c')
-rw-r--r--src/analysis/disass/loop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/analysis/disass/loop.c b/src/analysis/disass/loop.c
index e7dbbd7..89a4bc9 100644
--- a/src/analysis/disass/loop.c
+++ b/src/analysis/disass/loop.c
@@ -64,8 +64,8 @@ static void detect_back_edges(dragon_node *nodes, size_t count)
get_dragon_node_bounding_instructions(node, NULL, &last);
+ g_arch_instruction_wlock_dest(last);
dcount = g_arch_instruction_get_destinations(last, &dests, &types, NULL);
- if (dcount == 0) continue;
for (i = 0; i < dcount; i++)
switch (types[i])
@@ -102,6 +102,8 @@ static void detect_back_edges(dragon_node *nodes, size_t count)
}
+ g_arch_instruction_wunlock_dest(last);
+
}
}