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