summaryrefslogtreecommitdiff
path: root/lib/interception
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-10-24 18:22:07 +0000
committerReid Kleckner <rnk@google.com>2017-10-24 18:22:07 +0000
commite9b5a2559d63c029f8af63870ddd1892cfe019f3 (patch)
treef95788b7e333503d93f90c5fa2f7c46d1dbe72b1 /lib/interception
parente6931d5834fef14f661e8ca88563e3a2beb6feee (diff)
[asan] Add more x86 prologue decodings to handle x64 VC 2017 CRT
Fixes atoi and strtol interception. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@316482 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/interception')
-rw-r--r--lib/interception/interception_win.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/interception/interception_win.cc b/lib/interception/interception_win.cc
index 3e593c98f..23402e555 100644
--- a/lib/interception/interception_win.cc
+++ b/lib/interception/interception_win.cc
@@ -553,7 +553,10 @@ static size_t GetInstructionSize(uptr address, size_t* rel_offset = nullptr) {
case 0x246c8948: // 48 89 6C 24 XX : mov QWORD ptr [rsp + XX], rbp
case 0x245c8948: // 48 89 5c 24 XX : mov QWORD PTR [rsp + XX], rbx
case 0x24748948: // 48 89 74 24 XX : mov QWORD PTR [rsp + XX], rsi
+ case 0x244C8948: // 48 89 4C 24 XX : mov QWORD PTR [rsp + XX], rcx
return 5;
+ case 0x24648348: // 48 83 64 24 XX : and QWORD PTR [rsp + XX], YY
+ return 6;
}
#else