El programa no se bloquea en el desbordamiento del montón
He escrito el siguiente programa:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main(int argc, char *argv[]){
char *input;
input = (char*)malloc(16);
printf("input is : %s\n", input);
}
Cuando ejecuto esto como:
./test `python -c 'print "A"*5000'`
No se estrella. Más bien imprime datos.
Cuando usofree(input)
despuésprintf
, se estrella.
¿Por qué pasó esto?