Re: fwd: info liste
Alberto Guglielmo <[email protected]> Tue, 08 Mar 2005 14:18:52 +0100
| Newsgroups | gmane.comp.security.italian.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============0517274122== Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit [email protected] wrote: ------------ OMISSIS --------- > new_libro = (ptr_lista_libri) malloc (sizeof(lista_libri)); > if (new_libro != NULL) { // creo il nuovo elemento della lista > new_libro->titolo = titolo; > new_libro->next = NULL; ------------ OMISSIS --------- Dal momento che "titolo" e' una variabile sullo heap della tua funzione "inserisci_libro", e tu assegni a new_libro->titolo l'indirizzo di quella variabile e non il contenuto e' ragionevole che tu veda l'ultimo contenuto. Anzi, potresti perfino vedere garbage dal momento che quello spazio di memoria potrebbe esser stato riutilizzato per altro. L'azione corretta e' allocare un buffer di dimensioni opportune (strlen...), assegnarlo a new_libro->titolo e copiarvi (strncpy...) il contenuto di "titolo". Ciao -- Alberto Guglielmo a.guglielmo<at>tcpsas.com Key Fingerprint:7EAF 9E34 2838 7C6B EE47 E8F0 FFC5 3CBC 90AA 5EEE PGP Keys at: http://pgp.mit.edu ldap://europe.keys.pgp.com:11370 --===============0517274122== Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List --===============0517274122==--