linux user group brescia

immagine del castello

Archivio della mailing list

Curiosita' tecnica

Enrico Colombini erix a erix.it
Gio 27 Feb 2003 08:36:57 UTC
Un mio programma C dava "segmentation fault" a causa di un errore. Fin qui 
niente di strano, ma mi incuriosisce la modalita' della cosa:

La causa del segfault era una serie di letture al di fuori dei limiti di un 
array. Il segfault pero' avveniva piu' tardi, in occasione di una scrittura 
perfettamente lecita in un altro array.
Potevo eseguire tutte le letture "out of bounds" che volevo senza problemi, ma 
alla prima scrittura (ho provato a spostarla anche fuori della funzione 
incriminata) andava in segfault.

Non conosco i dettagli del meccanismo di protezione della memoria di Linux. 
Qualcuno ha una spiegazione?

  .Erix.



Maggiori informazioni sulla lista Lug