1*673dc3d4SNico Weber // RUN: %clangxx_asan -O0 %s -o %t 2*673dc3d4SNico Weber // RUN: not %run %t 2>&1 | FileCheck %s 3*673dc3d4SNico Weber // RUN: not %run %t heap 2>&1 | FileCheck %s 4*673dc3d4SNico Weber // RUN: %env_asan_opts=poison_partial=0 %run %t 5*673dc3d4SNico Weber // RUN: %env_asan_opts=poison_partial=0 %run %t heap 6*673dc3d4SNico Weber #include <string.h> 7*673dc3d4SNico Weber char g[21]; 8*673dc3d4SNico Weber char *x; 9*673dc3d4SNico Weber main(int argc,char ** argv)10*673dc3d4SNico Weberint main(int argc, char **argv) { 11*673dc3d4SNico Weber if (argc >= 2) 12*673dc3d4SNico Weber x = new char[21]; 13*673dc3d4SNico Weber else 14*673dc3d4SNico Weber x = &g[0]; 15*673dc3d4SNico Weber memset(x, 0, 21); 16*673dc3d4SNico Weber int *y = (int*)x; 17*673dc3d4SNico Weber return y[5]; 18*673dc3d4SNico Weber } 19*673dc3d4SNico Weber // CHECK: 0 bytes to the right 20