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==--