From 2ac028681c4c276949bda6b1c12128cc067be664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Thu, 23 Apr 2015 12:31:21 +0200 Subject: [PATCH] Fix handling of cmpxchg16b with lock prefix This was discovered when Frida's Stalker encountered the following x86-64 instruction while tracing code in ntdll: `f0 49 0f c7 0a`. --- arch/X86/X86DisassemblerDecoder.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/X86/X86DisassemblerDecoder.c b/arch/X86/X86DisassemblerDecoder.c index bb460e7b..e13482fa 100644 --- a/arch/X86/X86DisassemblerDecoder.c +++ b/arch/X86/X86DisassemblerDecoder.c @@ -2094,6 +2094,7 @@ static bool checkPrefix(struct InternalInstruction *insn) case X86_BTS64mr: // CMPXCHG + case X86_CMPXCHG16B: case X86_CMPXCHG16rm: case X86_CMPXCHG32rm: case X86_CMPXCHG64rm: