diff options
author | Vitaly Buka <vitalybuka@google.com> | 2016-08-19 17:15:33 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2016-08-19 17:15:33 +0000 |
commit | c8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb (patch) | |
tree | 277b1f5cc3e085e8ca98fc9129546bbbc069d223 /llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp | |
parent | 6e9f0309e9dbd63cbfe4344974cb7b745c9628e4 (diff) | |
download | bcm5719-llvm-c8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb.tar.gz bcm5719-llvm-c8f4d69c824b2abb5c6e5f94d52e311b3f1ad8bb.zip |
Revert "[asan] Fix size of shadow incorrectly calculated in r279178"
This reverts commit r279222.
Speculative revert in hope to fix asan crash on arm.
llvm-svn: 279276
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 4105dd89d85..67aef34a54b 100644 --- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -2237,8 +2237,10 @@ void FunctionStackPoisoner::poisonStack() { IRBuilder<> IRBPoison(ThenTerm); if (StackMallocIdx <= 4) { int ClassSize = kMinStackMallocSize << StackMallocIdx; - ShadowBytesAfterReturn.resize(ClassSize >> Mapping.Scale, - kAsanStackUseAfterReturnMagic); + if ((int)ShadowBytesAfterReturn.size() != ClassSize) { + ShadowBytesAfterReturn.resize(ClassSize, + kAsanStackUseAfterReturnMagic); + } poisonRedZones(ShadowBytesAfterReturn, IRBPoison, ShadowBase, true); Value *SavedFlagPtrPtr = IRBPoison.CreateAdd( FakeStack, |