普通に書いていたら、メモリリークは起こらないと思います。メモリリークはちゃんと検出します(ソースファイルの位置まで)
メモリリークの検出機能の実装は自慢です。確保したヒープに双方向リンクでチェインしてfreeしたらリンクを外して検出しています。実行が終わった時にリストに残っていれば残っているヒープの数を表示します。これは外す時はO(1)なので相当使えるテクニックだと思います。
このアルゴリズムの発明者は私です。(バーン)
詳しくはlibneo-c.cを見てください。
https://github.com/ab25cq/neo-c
Discussion