Dmalloc
Dmalloc is a C memory debugger library written by Gray Watson to assist programmers in finding a variety of dynamic memory allocation mistakes. It replaces parts (such as malloc) of the C standard library provided by the operating system or compiler with its own versions, which produce information intended to help the programmer detect problematic code.
Dmalloc can find memory leaks, off-by-one errors, and usage of invalid addresses in some library functions calls.