#include #include #include "mimalloc.h" #ifdef USE_STD_MALLOC # define mi(x) x #else # define mi(x) mi_##x #endif int main(int argc, char** argv) { int* p = mi(malloc)(3*sizeof(int)); int* q = mi(malloc)(sizeof(int)); int* r = mi_malloc_aligned(8,16); mi_free(r); // undefined access printf("undefined: %d\n", *q); *q = 42; // buffer overflow q[1] = 43; // buffer underflow q[-1] = 44; mi(free)(q); // double free mi(free)(q); // use after free printf("use-after-free: %d\n", *q); // leak p // mi_free(p) return 0; }