1*673dc3d4SNico Weber // RUN: %clang_cl_asan -Od %s -Fe%t 2*673dc3d4SNico Weber // RUN: %run %t | FileCheck %s 3*673dc3d4SNico Weber 4*673dc3d4SNico Weber #include <malloc.h> 5*673dc3d4SNico Weber #include <stdio.h> 6*673dc3d4SNico Weber main()7*673dc3d4SNico Weberint main() { 8*673dc3d4SNico Weber int *p = (int*)malloc(1024 * sizeof(int)); 9*673dc3d4SNico Weber p[512] = 0; 10*673dc3d4SNico Weber free(p); 11*673dc3d4SNico Weber 12*673dc3d4SNico Weber p = (int*)malloc(128); 13*673dc3d4SNico Weber p = (int*)realloc(p, 2048 * sizeof(int)); 14*673dc3d4SNico Weber p[1024] = 0; 15*673dc3d4SNico Weber free(p); 16*673dc3d4SNico Weber 17*673dc3d4SNico Weber p = (int*)calloc(16, sizeof(int)); 18*673dc3d4SNico Weber if (p[8] != 0) 19*673dc3d4SNico Weber return 1; 20*673dc3d4SNico Weber p[15]++; 21*673dc3d4SNico Weber if (16 * sizeof(int) != _msize(p)) 22*673dc3d4SNico Weber return 2; 23*673dc3d4SNico Weber free(p); 24*673dc3d4SNico Weber 25*673dc3d4SNico Weber p = new int; 26*673dc3d4SNico Weber *p = 42; 27*673dc3d4SNico Weber delete p; 28*673dc3d4SNico Weber 29*673dc3d4SNico Weber p = new int[42]; 30*673dc3d4SNico Weber p[15]++; 31*673dc3d4SNico Weber delete [] p; 32*673dc3d4SNico Weber 33*673dc3d4SNico Weber printf("All ok\n"); 34*673dc3d4SNico Weber // CHECK: All ok 35*673dc3d4SNico Weber 36*673dc3d4SNico Weber return 0; 37*673dc3d4SNico Weber } 38