]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Allow a redundant REX prefix for pushfq. Fixes #130785.
authorJulian Seward <jseward@acm.org>
Mon, 24 Jul 2006 09:09:36 +0000 (09:09 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 24 Jul 2006 09:09:36 +0000 (09:09 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1633

VEX/priv/guest-amd64/toIR.c

index a0f097a51bd32d00a3713bf24037d99cc201b2a0..72161aa09f0c11740b149aee3d20f6fa3cca937b 100644 (file)
@@ -12756,8 +12756,10 @@ DisResult disInstr_AMD64_WRK (
    case 0x9C: /* PUSHF */ {
       /* Note.  There is no encoding for a 32-bit pushf in 64-bit
          mode.  So sz==4 actually means sz==8. */
+      /* 24 July 06: has also been seen with a redundant REX prefix,
+         so must also allow sz==8. */
       if (haveF2orF3(pfx)) goto decode_failure;
-      vassert(sz == 2 || sz == 4);
+      vassert(sz == 2 || sz == 4 || sz == 8);
       if (sz == 4) sz = 8;
       if (sz != 8) goto decode_failure; // until we know a sz==2 test case exists