summaryrefslogtreecommitdiffstats
path: root/compiler-rt/include/sanitizer/common_interface_defs.h
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2014-05-06 14:41:01 +0000
committerKostya Serebryany <kcc@google.com>2014-05-06 14:41:01 +0000
commit7a733480c8c7dd64c5436af8079651647308a92f (patch)
tree74e1f008f22d358bdece7e7c8b1707017a19aa3f /compiler-rt/include/sanitizer/common_interface_defs.h
parent618850b6a50c9e06218c314ad55a0d03756e6cba (diff)
downloadbcm5719-llvm-7a733480c8c7dd64c5436af8079651647308a92f.tar.gz
bcm5719-llvm-7a733480c8c7dd64c5436af8079651647308a92f.zip
[asan] introduce interface function __sanitizer_verify_contiguous_container to verify annotations in vector-like containers
llvm-svn: 208092
Diffstat (limited to 'compiler-rt/include/sanitizer/common_interface_defs.h')
-rw-r--r--compiler-rt/include/sanitizer/common_interface_defs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler-rt/include/sanitizer/common_interface_defs.h b/compiler-rt/include/sanitizer/common_interface_defs.h
index 798f0c52f96..fa3c14d1b53 100644
--- a/compiler-rt/include/sanitizer/common_interface_defs.h
+++ b/compiler-rt/include/sanitizer/common_interface_defs.h
@@ -86,6 +86,14 @@ extern "C" {
const void *end,
const void *old_mid,
const void *new_mid);
+ // Returns true if the contiguous container [beg, end) ir properly poisoned
+ // (e.g. with __sanitizer_annotate_contiguous_container), i.e. if
+ // - [beg, mid) is addressable,
+ // - [mid, end) is unaddressable.
+ // Full verification requires O(end-beg) time; this function tries to avoid
+ // such complexity by touching only parts of the container around beg/mid/end.
+ int __sanitizer_verify_contiguous_container(const void *beg, const void *mid,
+ const void *end);
// Print the stack trace leading to this call. Useful for debugging user code.
void __sanitizer_print_stack_trace();
OpenPOWER on IntegriCloud