[asan] make new_array_cookie_test more robust

llvm-svn: 218841
This commit is contained in:
Kostya Serebryany 2014-10-01 23:24:54 +00:00
parent e50bd2b21c
commit 36aa17a4e3
1 changed files with 7 additions and 2 deletions

View File

@ -2,11 +2,15 @@
// RUN: %clangxx_asan -O3 %s -o %t // RUN: %clangxx_asan -O3 %s -o %t
// RUN: not %run %t 2>&1 | FileCheck %s // RUN: not %run %t 2>&1 | FileCheck %s
// RUN: ASAN_OPTIONS=poison_array_cookie=1 not %run %t 2>&1 | FileCheck %s // RUN: ASAN_OPTIONS=poison_array_cookie=1 not %run %t 2>&1 | FileCheck %s
// RUN: ASAN_OPTIONS=poison_array_cookie=0 %run %t // RUN: ASAN_OPTIONS=poison_array_cookie=0 not %run %t 2>&1 | FileCheck %s --check-prefix=NO_COOKIE
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
struct C { struct C {
int x; int x;
~C() {fprintf(stderr, "ZZZZZZZZ\n");} ~C() {
fprintf(stderr, "ZZZZZZZZ\n");
exit(1);
}
}; };
int main(int argc, char **argv) { int main(int argc, char **argv) {
@ -15,5 +19,6 @@ int main(int argc, char **argv) {
// CHECK: AddressSanitizer: heap-buffer-overflow // CHECK: AddressSanitizer: heap-buffer-overflow
// CHECK: in main {{.*}}new_array_cookie_test.cc:[[@LINE-2]] // CHECK: in main {{.*}}new_array_cookie_test.cc:[[@LINE-2]]
// CHECK: is located 0 bytes inside of 12-byte region // CHECK: is located 0 bytes inside of 12-byte region
// NO_COOKIE: ZZZZZZZZ
delete [] buffer; delete [] buffer;
} }