summaryrefslogtreecommitdiff
path: root/lib/asan/asan_poisoning.cc
diff options
context:
space:
mode:
authorSergey Matveev <earthdok@google.com>2013-12-09 13:12:10 +0000
committerSergey Matveev <earthdok@google.com>2013-12-09 13:12:10 +0000
commit519d619ea52183434bfdc1fc422cdc276dd88869 (patch)
treefd555c9375a9771dbe3f15edd09732ef0780ca48 /lib/asan/asan_poisoning.cc
parent2786b0fa0d37196e7ccf77d706764f1008381ba4 (diff)
[lsan] Make LSan ignore memory poisoned by ASan.
Summary: No more (potenital) false negatives due to red zones or fake stack frames. Reviewers: kcc, samsonov Reviewed By: samsonov CC: llvm-commits, samsonov Differential Revision: http://llvm-reviews.chandlerc.com/D2359 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@196778 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_poisoning.cc')
-rw-r--r--lib/asan/asan_poisoning.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/asan/asan_poisoning.cc b/lib/asan/asan_poisoning.cc
index ef3ba9fb6..cc42b31a2 100644
--- a/lib/asan/asan_poisoning.cc
+++ b/lib/asan/asan_poisoning.cc
@@ -292,3 +292,11 @@ void __sanitizer_annotate_contiguous_container(const void *beg_p,
*(u8*)MemToShadow(b1) = static_cast<u8>(new_mid - b1);
}
}
+
+// --- Implementation of LSan-specific functions --- {{{1
+namespace __lsan {
+bool WordIsPoisoned(uptr addr) {
+ return __asan_region_is_poisoned(addr, sizeof(uptr));
+}
+}
+