Skip to content

Commit ed1fc05

Browse files
committed
[win/asan] GetInstructionSize: Fix 41 81 7c ... to return 9.
1 parent c0192a0 commit ed1fc05

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

compiler-rt/lib/interception/interception_win.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,6 @@ static size_t GetInstructionSize(uptr address, size_t* rel_offset = nullptr) {
808808
case 0x798141: // 41 81 79 XX YY YY YY YY : cmp DWORD PTR [r9+YY], XX XX XX XX
809809
case 0x7a8141: // 41 81 7a XX YY YY YY YY : cmp DWORD PTR [r10+YY], XX XX XX XX
810810
case 0x7b8141: // 41 81 7b XX YY YY YY YY : cmp DWORD PTR [r11+YY], XX XX XX XX
811-
case 0x7c8141: // 41 81 7c XX YY YY YY YY : cmp DWORD PTR [r12+YY], XX XX XX XX
812811
case 0x7d8141: // 41 81 7d XX YY YY YY YY : cmp DWORD PTR [r13+YY], XX XX XX XX
813812
case 0x7e8141: // 41 81 7e XX YY YY YY YY : cmp DWORD PTR [r14+YY], XX XX XX XX
814813
case 0x7f8141: // 41 81 7f YY XX XX XX XX : cmp DWORD PTR [r15+YY], XX XX XX XX
@@ -835,6 +834,10 @@ static size_t GetInstructionSize(uptr address, size_t* rel_offset = nullptr) {
835834
case 0x2444c7: // C7 44 24 XX YY YY YY YY
836835
// mov dword ptr [rsp + XX], YYYYYYYY
837836
return 8;
837+
838+
case 0x7c8141: // 41 81 7c ZZ YY XX XX XX XX
839+
// cmp DWORD PTR [reg+reg*n+YY], XX XX XX XX
840+
return 9;
838841
}
839842

840843
switch (*(u32*)(address)) {

0 commit comments

Comments
 (0)