diff options
Diffstat (limited to 'test/asan/TestCases/poison_partial.cc')
-rw-r--r-- | test/asan/TestCases/poison_partial.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/asan/TestCases/poison_partial.cc b/test/asan/TestCases/poison_partial.cc new file mode 100644 index 000000000000..ce9c98b7859a --- /dev/null +++ b/test/asan/TestCases/poison_partial.cc @@ -0,0 +1,19 @@ +// RUN: %clangxx_asan -O0 %s -o %t +// RUN: not %run %t 2>&1 | FileCheck %s +// RUN: not %run %t heap 2>&1 | FileCheck %s +// RUN: env ASAN_OPTIONS=poison_partial=0 %run %t +// RUN: env ASAN_OPTIONS=poison_partial=0 %run %t heap +#include <string.h> +char g[21]; +char *x; + +int main(int argc, char **argv) { + if (argc >= 2) + x = new char[21]; + else + x = &g[0]; + memset(x, 0, 21); + int *y = (int*)x; + return y[5]; +} +// CHECK: 0 bytes to the right |