1 // Check that __asan_poison_memory_region works.
2 // RUN: %clangxx_asan -O0 %s -o %t && not %run %t 2>&1 | FileCheck %s
4 // Check that we can disable it
5 // RUN: ASAN_OPTIONS=allow_user_poisoning=0 %run %t
9 extern "C" void __asan_poison_memory_region(void *, size_t);
11 int main(int argc
, char **argv
) {
12 char *x
= new char[16];
14 __asan_poison_memory_region(x
, 16);
15 int res
= x
[argc
* 10]; // BOOOM
16 // CHECK: ERROR: AddressSanitizer: use-after-poison
17 // CHECK: main{{.*}}use-after-poison.cc:[[@LINE-2]]