/* make sure that realloc() can properly shrink buffers */
#include <stdlib.h>
#define LARGE_BUFFER (1 << 20) /* idea is to span a lot of pages */
int main(int argc, char *argv[])
{
int count = 20;
char *ptr = NULL;
while (count--) {
ptr = realloc(ptr, LARGE_BUFFER);
ptr = realloc(ptr, 1);
}
free(ptr);
return 0;
}