From: Ulrich Drepper Date: Thu, 18 Dec 2008 06:24:14 +0000 (-0800) Subject: (i386_disasm): If instruction matches prefix, undoing the prefix match X-Git-Tag: elfutils-0.138~15^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f923f49a38c7c1f862fcb3bd2d07aa012c1e877;p=thirdparty%2Felfutils.git (i386_disasm): If instruction matches prefix, undoing the prefix match finishes the instruction. --- diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c index 843fd7498..b676216a8 100644 --- a/libcpu/i386_disasm.c +++ b/libcpu/i386_disasm.c @@ -351,13 +351,12 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, opoff = 8; curr += 2; - assert (avail > 0); assert (last_prefix_bit != 0); correct_prefix = last_prefix_bit; } - do + while (avail > 0) { uint_fast8_t masked = *codep++ & *curr++; if (masked != *curr++) @@ -367,7 +366,6 @@ i386_disasm (const uint8_t **startp, const uint8_t *end, GElf_Addr addr, if (codep == end && avail > 0) goto do_ret; } - while (avail > 0); if (avail != 0) {