blob: 2f171672fdba9bc0a7f68d061cccc0a3efd3dc20 [file] [log] [blame]
/* Allocate an array of strings. Free every 6th string.
Then write into all the strings which causes a use-after-free error. */
#include <stdlib.h>
#include <string.h>
#define SZ 1000
int main()
{
char *buf[SZ];
int i;
for (i = 0; i < SZ; i++)
{
buf[i] = malloc(100);
if (i % 6 == 0)
free(buf[i]);
}
for (i = 0; i < SZ; i++)
strcpy(buf[i], "some string");
for (i = 0; i < SZ; i++)
{
if (i % 6 != 0)
free(buf[i]);
}
return 0;
}