diff options
author | Kostya Serebryany <kcc@google.com> | 2014-05-06 14:41:01 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2014-05-06 14:41:01 +0000 |
commit | 7a733480c8c7dd64c5436af8079651647308a92f (patch) | |
tree | 74e1f008f22d358bdece7e7c8b1707017a19aa3f /compiler-rt/include/sanitizer/common_interface_defs.h | |
parent | 618850b6a50c9e06218c314ad55a0d03756e6cba (diff) | |
download | bcm5719-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.h | 8 |
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(); |