diff mbox series

[1/2] ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1

Message ID 4823aabb-ed93-963c-ec0c-d7df1f0f6065@suse.cz
State New
Headers show
Series [1/2] ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1 | expand

Commit Message

Martin Liška Oct. 21, 2020, 9:20 a.m. UTC
Do not crash when AsanThread::GetStackVariableShadowStart does not find
a variable for a pointer on a shadow stack.

Cherry-pick from ad2be02a833e56f7fe280797280b219eb3312621.

Differential Revision: https://reviews.llvm.org/D89552

(cherry picked from commit b69f33f477b9ac38af3c39465600ae74a3554878)
---
  libsanitizer/asan/asan_thread.cpp | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/libsanitizer/asan/asan_thread.cpp b/libsanitizer/asan/asan_thread.cpp
index 6734d9a1668..cb374b28622 100644
--- a/libsanitizer/asan/asan_thread.cpp
+++ b/libsanitizer/asan/asan_thread.cpp
@@ -366,7 +366,9 @@  uptr AsanThread::GetStackVariableShadowStart(uptr addr) {
      bottom = stack_bottom();
    } else if (has_fake_stack()) {
      bottom = fake_stack()->AddrIsInFakeStack(addr);
-    CHECK(bottom);
+    if (bottom == 0) {
+      return 0;
+    }
    } else {
      return 0;
    }