summaryrefslogtreecommitdiff
path: root/src/analysis/disass/macro.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-04-20 12:07:19 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-04-20 12:07:19 (GMT)
commit59f319d9a6961a7424c7b32f49aa7ac1045a1d4c (patch)
treee9d62c684dd8d8f5e141b9332994041bd2371f9a /src/analysis/disass/macro.c
parent8962a4e61411c8362d5f4be63496977164b886a8 (diff)
Protected all concurrent accesses to sources and destinations of instructions.
Diffstat (limited to 'src/analysis/disass/macro.c')
-rw-r--r--src/analysis/disass/macro.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/analysis/disass/macro.c b/src/analysis/disass/macro.c
index d9d20ee..6ac1fb2 100644
--- a/src/analysis/disass/macro.c
+++ b/src/analysis/disass/macro.c
@@ -227,6 +227,7 @@ static GInstrBlock *build_instruction_blocks(GArchProcessor *proc, const dragon_
others = NULL;
+ g_arch_instruction_rlock_dest(last);
dcount = g_arch_instruction_get_destinations(last, &dests, &types, NULL);
for (i = 0; i < dcount && others == NULL; i++)
@@ -283,6 +284,7 @@ static GInstrBlock *build_instruction_blocks(GArchProcessor *proc, const dragon_
}
+ g_arch_instruction_runlock_dest(last);
if (others != NULL)
{