forked from OSchip/llvm-project
				
			[asan] make new_array_cookie_test more robust
llvm-svn: 218841
This commit is contained in:
		
							parent
							
								
									e50bd2b21c
								
							
						
					
					
						commit
						36aa17a4e3
					
				| 
						 | 
					@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue