Questione : Sovraccarico dell'amplificatore

Ciò una domanda suonante rapida, ma evidente. Se avete un amplificatore da 16 byte, quanti dati potete mettere in esso all'esame dei sovraccarichi dell'amplificatore? Ammetterei 16 byte, ma sono stato detto che questa è una punta di una domanda di trucco. Chiunque sa? class= del

Risposta : Sovraccarico dell'amplificatore

La chiave sarà la stringa tipicamente inoltre è conosciuta come stringa terminata nulla. Significando se ha lunghezza di 16 che è esclusiva di un carattere NULLO. Di analizzatore la necessità tipicamente di trovare carbone NULLO in modo che sappia che ha arriv alla fineare della stringa e può continuare a fare altre azioni (come la stampa da selezionare, ecc). Così la ripartizione della memoria (mucchio o pila), questa dovrebbe essere presa sempre la cura di da programmatore.

E.g. carbonizzare la stringa [LENGTH+1] o lo string_ptr = il malloc (LENGTH+1)

Così traboccare esso è semplicemente di dire che se avete amplificatore da 16 byte, traduce in stringa del carbone [LUNGHEZZA] dove la LUNGHEZZA è 16. Così la stringa ha pensato assicurare che nessun trabocco dovrebbe essere uno più di meno (per esempio LENGTH-1). Naturalmente, sto supponendo che l'allineamento di byte è effettivamente tipo terminato nullo allineamento. Altrimenti, dovrebbe essere controllo ricevendo le funzioni ecc (lunghezza basata di byte) nei codici.

Ci sono più al trabocco tali che ignora l'indirizzo di ritorno ed ecc ma suggeriscono che possiate verificare questo collegamento buon @ http://en.wikipedia.org/wiki/Buffer_overflow colto
Altre soluzioni  
 
programming4us programming4us