Originariamente inviato da torn24
nel codice alloco dinamicamente , in un puntatore a char 5 byte , poi con strcpy gli "inserisco" una striga più lunga di 5 caratteri , non da nessun errore e funziona come
se la potesse contenere , ma dove viene salvata la stringa ? io mi aspetterei
un errore e il blocco del programma !
Come detto in altri thread (anche recentemente) quando un programma C scrive in memoria possono accadere 3 fatti:

1) tutto ok, la memoria è correttamente allocata al processo ed è destinata a quello che il programmatore aveva previsto

2) la memoria è allocata al processo ma destinata ad altro e comunque il programma ci può scrivere distruggendo dati (o parti dello stack)

3) la memoria non è allocata al processo, hai un crash

Evidentemente il caso 2) è quello che ti sta accadendo.