corrupción de memoria

yo estaba ejecutando un pequeño programa de c:

#include<stdio.h>
int main()
{
char *p;
p = (char *)malloc(10);
free(p);
free(p);
free(p);
printf("\npointer is freed!!\n");
}

Básicamente estoy liberando la memoria que ya ha sido liberada. Creo que debería resultar en un volcado de núcleo !! ¿No es así?

pero esta imprimiendo el

pointer is freed!!

¿Me equivoco en alguna parte?

Respuestas a la pregunta(7)

Su respuesta a la pregunta