Estamos allocando mais matrizes do que estamos deallocando
Closed this issue · 1 comments
contei o numero de vezes que ele iterava sobre o new int[] e o delete [] :
total number of matrix allocations: 180
total number of matrix deallocations: 120
e deu a mesma diferenca que o LeakSanitizer reclamou:
=================================================================
==18218==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 4800 byte(s) in 60 object(s) allocated from:
#0 0x7fa22e8f5d7b in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xfd7b)
#1 0x563b57c64840 in init_matrix(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, int) (/home/alek/workspace/ufsc/courses/ed/ed-projeto-I/xml-images.out+0x2840)
#2 0x563b57c6438a in main (/home/alek/workspace/ufsc/courses/ed/ed-projeto-I/xml-images.out+0x238a)
#3 0x7fa22df75b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
SUMMARY: LeakSanitizer: 4800 byte(s) leaked in 60 allocation(s).
Ja resolvi. O problema era o seguinte: a tua assinatura tava trocada o width e o heigth, e eu destroquei pra parar os stackoverflows, mas dessa maneira ele tava criando um array de ponteiros para arrays com height ao inves de width. Troquei isso e agora funciona