Salut, Nu depunctam leak-urile de memorie IN CAZURILE ANORMALE, cele de eroare (deci cele cu comenzi invalide). Ar trebui sa faci cu goto-uri ca aici [1] Asigura-te doar ca n-ai memory leaks pe un CAZ VALID cu COMENZI VALIDE in care totul merge normal -> doar acolo depunctam.
[1] https://ocw.cs.pub.ro/courses/so/laboratoare/resurse/die#alta_abordare 2017-03-15 18:44 GMT+02:00 Andrei Tulus via so <so@cursuri.cs.pub.ro>: > Salut, > > Am rulat cu valgrind si primesc memory leak-uri pe testele in care am > comenzi invalide, intra pe exit si nu mai are loc dezalocarea memoriei > folosite pana in momentul respectiv. Pe testele mari (ex testul 28) nu > primesc memory leak-uri dar pe testul 29 care contine comanda bla primesc > memory leak-uri desi inainte de exit dezaloc memoria folosita ( eliberez > memoria intregului hash). > > Am observat ca ramane un bloc de 500 bytes care este memoria alocata de > compilator pentru functia de citire. Parsarea se face intr-o alta functie > apelata din functia de citire. Deci in momentul in care se da exit ramane > alocata memoria pentru functia respectiva care are declarate variabile > locale si nu cred ca mai sunt eliberate. > > Cum as putea rezolva ? > > > Multumesc > > > > _______________________________________________ > http://ocw.cs.pub.ro/courses/so/info/lista-discutii -- Cu stimă, Mihai Bărbulescu _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii