1*7c3d14c8STreehugger Robot // Regression test for 2*7c3d14c8STreehugger Robot // https://code.google.com/p/address-sanitizer/issues/detail?id=183 3*7c3d14c8STreehugger Robot 4*7c3d14c8STreehugger Robot // RUN: %clangxx_asan -O2 %s -o %t 5*7c3d14c8STreehugger Robot // RUN: not %run %t 12 2>&1 | FileCheck %s 6*7c3d14c8STreehugger Robot // RUN: not %run %t 100 2>&1 | FileCheck %s 7*7c3d14c8STreehugger Robot // RUN: not %run %t 10000 2>&1 | FileCheck %s 8*7c3d14c8STreehugger Robot 9*7c3d14c8STreehugger Robot #include <stdlib.h> 10*7c3d14c8STreehugger Robot #include <string.h> 11*7c3d14c8STreehugger Robot #include <stdio.h> 12*7c3d14c8STreehugger Robot main(int argc,char * argv[])13*7c3d14c8STreehugger Robotint main(int argc, char *argv[]) { 14*7c3d14c8STreehugger Robot fprintf(stderr, "main\n"); 15*7c3d14c8STreehugger Robot int *x = new int[5]; 16*7c3d14c8STreehugger Robot memset(x, 0, sizeof(x[0]) * 5); 17*7c3d14c8STreehugger Robot int index = atoi(argv[1]); 18*7c3d14c8STreehugger Robot unsigned res = x[index]; 19*7c3d14c8STreehugger Robot // CHECK: main 20*7c3d14c8STreehugger Robot // CHECK-NOT: CHECK failed 21*7c3d14c8STreehugger Robot delete[] x; 22*7c3d14c8STreehugger Robot return (res % 10) + 1; 23*7c3d14c8STreehugger Robot } 24