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 | 056fa2293af34285767cbd118596f0accfd8cd5b (patch) | |
tree | f8161b5afa3525d1a62d1f7d66288e6b791cd1f2 /include/sanitizer | |
parent | 9d7ac84bcf38574ad935b45f0ec41c18f87818f5 (diff) |
[asan] introduce interface function __sanitizer_verify_contiguous_container to verify annotations in vector-like containers
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208092 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/sanitizer')
-rw-r--r-- | include/sanitizer/common_interface_defs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sanitizer/common_interface_defs.h b/include/sanitizer/common_interface_defs.h index 798f0c52f..fa3c14d1b 100644 --- a/include/sanitizer/common_interface_defs.h +++ b/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(); |