allocators_sanity.cc revision 5d71de26cedae3dafc17449fe0182045c0bd20e8
195640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org// RUN: %clang_cl_asan -O0 %s -Fe%t 295640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org// RUN: %run %t | FileCheck %s 301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org#include <malloc.h> 501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org#include <stdio.h> 601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgint main() { 801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org int *p = (int*)malloc(1024 * sizeof(int)); 901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p[512] = 0; 1001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org free(p); 1101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 1201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p = (int*)malloc(128); 1301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p = (int*)realloc(p, 2048 * sizeof(int)); 1401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p[1024] = 0; 1501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org free(p); 1601fadb72b6e94e6511eaffd1874a8cc095f098a7joi@chromium.org 1701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p = (int*)calloc(16, sizeof(int)); 1801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org if (p[8] != 0) 1901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org return 1; 2001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p[15]++; 2101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org if (16 * sizeof(int) != _msize(p)) 2201fadb72b6e94e6511eaffd1874a8cc095f098a7joi@chromium.org return 2; 2301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org free(p); 2401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 2501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p = new int; 2601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org *p = 42; 2701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org delete p; 2801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 2901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p = new int[42]; 3001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org p[15]++; 3101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org delete [] p; 3201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 3301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org printf("All ok\n"); 3401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org// CHECK: All ok 3501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 3601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org return 0; 3701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org} 3801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org