Home | History | Annotate | Download | only in tests
      1 #include <stdlib.h>
      2 //#include <malloc.h>
      3 #include "../memcheck.h"
      4 int 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