Every predictive bug detection scheme is open to the potential of false
positives. I've yet to see a complex one that is 100% false positive free.
Most apps free their stuff before they exit - i do it in all my own C apps.
That is generally useful: for example it makes it easier to thread a program
later on - when exit() becomes pthread_exit() and a silent leak turns into a
real leak.
Hence Valgrind checking for exit() by default looks useful to me.
Yeah, and exit() sounds like a pretty convenient point, right? That's the
point where all resources are inactive hence a scan for leaks is expected to
be the most efficient in finding real leaks.
Thanks,
Ingo
--