From dc5316bc70059e4e0e127395e06c71e1d20936e0 Mon Sep 17 00:00:00 2001 From: Paul Floyd Date: Sat, 10 Feb 2024 08:19:20 +0100 Subject: [PATCH] Bug 471036 - disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6 Patch contributed by redoste@redoste.xyz --- NEWS | 1 + VEX/priv/guest_amd64_toIR.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 4855faf49f..c7fe3df936 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. value" in memchr of macOS 10.12-10.15 460616 disInstr(arm64): unhandled instruction 0x4E819402 (dotprod/ASIMDDP) 466884 Missing writev uninit padding suppression for _XSend +471036 disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6 475498 Add reallocarray wrapper 476320 Build failure with GCC 476331 clean up generated/distributed filter scripts diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index 78d80fe8dc..e27d891aae 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -32176,7 +32176,7 @@ Long dis_ESC_0F3A__VEX ( nameIRegG(size,pfx,rm)); delta += 2; } else { - addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 ); + addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); imm8 = getUChar(delta+alen); assign( src, loadLE(ty, mkexpr(addr)) ); DIP("rorx %d,%s,%s\n", imm8, dis_buf, nameIRegG(size,pfx,rm)); -- 2.43.5