1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include <stdlib.h> 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov//#include <malloc.h> 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include "../memcheck.h" 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovint main (int argc, char*argv[]) 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov{ 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t def_size = 1<<20; 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov char *p; 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov char *new_p; 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov if (argc > 10000) def_size = def_size * 2; 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov { 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t size = def_size; 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov p = malloc(size); 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov } 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&p, 1); 19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = realloc(p, def_size); 20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1); 22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = realloc(new_p, def_size); 23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1); 25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov free (new_p); 26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov { 28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t nmemb = 1; 29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&nmemb, 1); 30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = calloc(nmemb, def_size); 31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov free (new_p); 32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov } 33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#if 0 34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov { 35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t alignment = 1; 36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&alignment, 1); 37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = memalign(alignment, def_size); 38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov free(new_p); 39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov } 40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov { 42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t nmemb = 16; 43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t size = def_size; 44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = memalign(nmemb, size); 46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov free(new_p); 47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov } 48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 49436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov { 50436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov size_t size = def_size; 51436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov (void) VALGRIND_MAKE_MEM_UNDEFINED(&size, 1); 52436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov new_p = valloc(size); 53436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov free (new_p); 54436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov } 55436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif 56436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov return 0; 57436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov} 58