Discussion:
vex: r3370 - /trunk/priv/guest_x86_toIR.c
Add Reply
s***@valgrind.org
2017-05-15 08:15:26 UTC
Reply
Permalink
Raw Message
Author: iraisr
Date: Mon May 15 09:15:22 2017
New Revision: 3370

Log:
Fix decoding failure in X86 VEX frontend.
Fixes BZ#379838.
Patch by: Julian Seward <***@acm.org>

Modified:
trunk/priv/guest_x86_toIR.c

Modified: trunk/priv/guest_x86_toIR.c
==============================================================================
--- trunk/priv/guest_x86_toIR.c (original)
+++ trunk/priv/guest_x86_toIR.c Mon May 15 09:15:22 2017
@@ -15319,11 +15319,11 @@
see it (pass-through semantics). I can't see any way to
construct a faked-up value, so don't bother to try. */
modrm = getUChar(delta);
- addr = disAMode ( &alen, sorb, delta, dis_buf );
- delta += alen;
if (epartIsReg(modrm)) goto decode_failure;
if (gregOfRM(modrm) != 0 && gregOfRM(modrm) != 1)
goto decode_failure;
+ addr = disAMode ( &alen, sorb, delta, dis_buf );
+ delta += alen;
switch (gregOfRM(modrm)) {
case 0: DIP("sgdt %s\n", dis_buf); break;
case 1: DIP("sidt %s\n", dis_buf); break;

Loading...