Home | History | Annotate | Download | only in tests
      1 #include <stdlib.h>
      2 #include <stdio.h>
      3 #include "pub_tool_basics.h"
      4 
      5 int main(void)
      6 {
      7    // The n*size multiplication overflows in this example.  The only sensible
      8    // thing to do is return NULL, but old versions of Valgrind didn't (they
      9    // often ground to a halt trying to allocate an enormous (but not as
     10    // enormous as asked-for!) block.  See bug 149878.
     11    int* x;
     12 #if VG_WORDSIZE == 8
     13    size_t szB = 0x1000000010000001ULL;
     14 #else
     15    size_t szB = 0x10000001UL;
     16 #endif
     17    x = calloc(szB, 0x10);
     18    fprintf(stderr, "x = %#lx\n", (long)x);
     19    return 0;
     20 }
     21