]>
git.proxmox.com Git - rustc.git/blob - src/libcompiler_builtins/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cc
1 // RUN: %clangxx -O2 %s -o %t && not %run %t 2>&1 | FileCheck %s
3 // REQUIRES: stable-runtime
5 #include <sanitizer/common_interface_defs.h>
8 volatile char *zero
= 0;
11 fprintf(stderr
, "DEATH CALLBACK EXECUTED\n");
13 // CHECK: DEATH CALLBACK EXECUTED
18 __attribute__((noinline
))
19 void MaybeInit(int *uninitialized
) {
24 __attribute__((noinline
))
26 sink
= new char[100]; // trigger lsan report.
29 int main(int argc
, char **argv
) {
31 __sanitizer_set_death_callback(Death
);
32 MaybeInit(&uninitialized
);
33 if (uninitialized
) // trigger msan report.
37 global
= sink
[0]; // use-after-free: trigger asan/tsan report.