/* This test demonstrated an obscure bug in malloclists handling caused by
multiple blocks hashing to the same list and one being overwritten at
realloc time due to bad ordering of the things happening. Now runs
without error. */
#include <stdlib.h>
#include <stdio.h>
int main ( void )
{
char* p;
int i;
for (i = 0; i < 10000; i++) {
p = malloc(10 + 10 * (i % 100));
p = realloc(p, 500);
p = realloc(p, 600);
free(p);
}
return 0;
}