1cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe#include <stdlib.h> 2b3a23c6054e6918688a2beaba1a6a5e0954714e7philippe//#include <malloc.h> 3cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe#include "../memcheck.h" 4cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippeint main (int argc, char*argv[]) 5cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe{ 6cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t def_size = 1<<20; 7cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe char *p; 8cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe char *new_p; 9cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 10cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe if (argc > 10000) def_size = def_size * 2; 11cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 12cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe { 13cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t size = def_size; 1406bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 15cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe p = malloc(size); 16cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe } 17cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 1806bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&p, 1); 19cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = realloc(p, def_size); 20cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 2106bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1); 22cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = realloc(new_p, def_size); 23cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 2406bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1); 25cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe free (new_p); 26cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 27cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe { 28cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t nmemb = 1; 2906bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&nmemb, 1); 30cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = calloc(nmemb, def_size); 31cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe free (new_p); 32cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe } 33b3a23c6054e6918688a2beaba1a6a5e0954714e7philippe#if 0 34cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe { 35cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t alignment = 1; 3606bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&alignment, 1); 37cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = memalign(alignment, def_size); 38cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe free(new_p); 39cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe } 40cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 41cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe { 42cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t nmemb = 16; 43cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t size = def_size; 4406bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 45cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = memalign(nmemb, size); 46cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe free(new_p); 47cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe } 48cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe 49cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe { 50cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe size_t size = def_size; 5106bc722457ffe12e056d2f40d0d2f5c8711b541fflorian (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 52cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe new_p = valloc(size); 53cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe free (new_p); 54cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe } 55b3a23c6054e6918688a2beaba1a6a5e0954714e7philippe#endif 56cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe return 0; 57cf9e1973453f3bcc4cea9e5e943f10101bc3740bphilippe} 58