http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56008



--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2013-01-20 
13:34:52 UTC ---

> Created attachment 29221 [details]

> Fix for this PR and PR 47517



I confirm for this PR. However while the original code of PR 47517 executes

without error it has a huge memory leak:



==98070== HEAP SUMMARY:

==98070==     in use at exit: 146,401,340 bytes in 2,700,054 blocks

==98070==   total heap usage: 2,900,145 allocs, 200,091 frees, 170,502,858

bytes allocated

==98070== 

==98070== 12 bytes in 1 blocks are definitely lost in loss record 1 of 42

==98070==    at 0x100019679: malloc (vg_replace_malloc.c:266)

==98070==    by 0x100000EBB: MAIN__ (in ./a.out)

==98070==    by 0x100007BC9: main (in ./a.out)

...



==98070== 

==98070== 102,798,972 (71,999,280 direct, 30,799,692 indirect) bytes in 299,997

blocks are definitely lost in loss record 42 of 42

==98070==    at 0x100019679: malloc (vg_replace_malloc.c:266)

==98070==    by 0x1000072A7: MAIN__ (in ./a.out)

==98070==    by 0x100007BC9: main (in ./a.out)

==98070== 

==98070== LEAK SUMMARY:

==98070==    definitely lost: 105,601,152 bytes in 500,046 blocks

==98070==    indirectly lost: 40,800,100 bytes in 2,200,007 blocks

==98070==      possibly lost: 0 bytes in 0 blocks

==98070==    still reachable: 0 bytes in 0 blocks

==98070==         suppressed: 88 bytes in 1 blocks

==98070== 

==98070== For counts of detected and suppressed errors, rerun with: -v

==98070== ERROR SUMMARY: 34 errors from 34 contexts (suppressed: 0 from 0)



(loop reduded to 100000).



The test in PR 47517 comment #1 still fails at runtime:



 1>            1                    0

 2>            1                    0           1



Program received signal SIGSEGV: Segmentation fault - invalid memory reference.



Compiling it with  -fsanitize=address gives



==237== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x000103be06b0

at pc 0x100000b75 bp 0x7fff5fbfd3a0 sp 0x7fff5fbfd398

READ of size 8 at 0x000103be06b0 thread T0

Reply via email to