summaryrefslogtreecommitdiff
path: root/src/analysis/blocks/virtual.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-01-10 22:47:37 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-01-10 22:47:37 (GMT)
commit221bcaeeb06415d501f9abbb9bc4b7d8339af1fe (patch)
tree243a1709589d3733d6525b0a143ecf0c539caae7 /src/analysis/blocks/virtual.c
parentc455057e634b30c3214a49db009bad5fd0c631ff (diff)
Simplified the decompilation process by using links between basic blocks.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@322 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/blocks/virtual.c')
-rw-r--r--src/analysis/blocks/virtual.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/analysis/blocks/virtual.c b/src/analysis/blocks/virtual.c
index 71a6d06..2385f67 100644
--- a/src/analysis/blocks/virtual.c
+++ b/src/analysis/blocks/virtual.c
@@ -230,7 +230,8 @@ static GInstrBlock *g_virtual_block_find_by_addr(const GVirtualBlock *block, vmp
result = NULL;
for (i = 0; i < block->children_count && result == NULL; i++)
- result = g_instr_block_find_by_addr(block->children[i], addr);
+ if (g_instr_block_find_by_addr(block->children[i], addr))
+ result = block->children[i];
return result;