Listing 2. mytest00.c Example Program
#include <stdlib.h>
#include <stdio.h>
int
main (int argc, char **argv)
{
char *msg = malloc (4);
// Allocate 4 bytes
strcpy (msg, "hello Linux users");
// Overflow the allocated memory
printf ("%s\n", msg);
free (msg);
// Free the allocated memory
strcpy (msg, "hello again");
// Write to freed memory
printf ("%s\n", msg);
free (msg);
// Free the freed memory
realloc (msg, 2);
// Reallocate freed memory
strcpy (msg, "hello there");
// Writing to erroneous memory
printf ("%s\n", msg);
return 0;
}
Copyright © 1994 - 2018 Linux Journal. All rights reserved.