La scrittura di dati buffer è una parte della routine di funzionamento di ogni programma , e anche una grande fonte di potenziali problemi . Quando un programma tenta di mettere più dati in un buffer che il suo programmatore ha progettato per tenere la conseguente fuoriuscita di dati può alterare gli altri dati di programma . Questo può portare a crash del software , o potenzialmente un mezzo per gli hacker di dirottare il programma ed eseguire codice dannoso . Buffer overflow e
Un buffer è una variabile di campo progettato per memorizzare i dati per il programma da utilizzare in un momento successivo nella sua esecuzione . Questo potrebbe essere un utente digita informazione nel programma , il contenuto di un file che il programma legge , o qualsiasi altra cosa il programma potrebbe essere necessario eseguire. Buffer vengono creati con una dimensione specifica , che è riservato in memoria di un computer per memorizzare i dati del buffer . Buffer overflow verificano quando un programma scrive una quantità di dati da un buffer che supera la dimensione reale causando il programma per scrivere dati passati posizione della buffer nella memoria del computer e nella memoria riservata per altri buffer o variabili .
blocca
un programma si blocca quando si trova nell'impossibilità di eseguire il compito che è stato codificato per eseguire in un dato momento , e il suo sviluppatore non ha incluso un meccanismo per il recupero da tale un fallimento . Buffer overflow può causare i programmi di crash quando si corrompe l'overflow di dati della variabile che viene memorizzato in uno slot di memoria nelle vicinanze. Ad esempio, se un overflow di un buffer di testo può scrivere caratteri di testo sopra i numeri memorizzati nella memoria di slot di una variabile intera . Quando il programma accede ai dati di questa variabile per eseguire un calcolo , che trova i caratteri di testo al posto dei numeri. Il programma non può eseguire calcoli matematici sui caratteri di testo , in modo che il programma avrebbe reagito per schiantarsi .