Ошибки Valgrind, хотя все блоки кучи были освобождены

Недавно у меня появилась привычка запускать все свои программы через valgrind для проверки утечек памяти, но большинство его результатов было немного загадочно для меня.

Для моего последнего запуска valgrind -v дал мне:

All heap blocks were freed -- no leaks are possible

Это означает, что моя программа защищена от утечек памяти , верно?

Так что же делает это ошибка значит? Моя программа неправильно читает определенные блоки памяти?

ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 14 from 9)

1 errors in context 1 of 1:
Invalid read of size 4
   at 0x804885B: findPos (in /home/a.out)
   by 0xADD918: start_thread (pthread_create.c:301)
   by 0xA26CCD: clone (clone.S:133)
 Address 0x4a27108 is 0 bytes after a block of size 40 alloc'd
   at 0x4005BDC: malloc (vg_replace_malloc.c:195)
   by 0x804892F: readInput (in /home/a.out)
   by 0xADD918: start_thread (pthread_create.c:301)
   by 0xA26CCD: clone (clone.S:133)

used_suppression:     14 dl-hack3-cond-1

Кроме того, какие так называемые "подавленные" ошибки здесь?

14
задан Keith Pinson 10 July 2012 в 18:57
поделиться