FreeBSDの/bin/catコマンドのソースコード
http://www.freebsd.org/cgi/cvsweb.cgi/src/bin/cat/cat.c?rev=1.36;content-type=text%2Fplain
を読んでいます。このコードでは、関数 static void raw_cat(int rfd)のなかでmallocを呼んでいるのですが、
freeをしている行が見つかりません。メモリリークが起きないかと心配になったので
find /usr/src -type f | xargs catしてtopで様子をみたのですが、
メモリがどんどん増えるという事もありません。ひょっとしてmallocしても必ずしもfreeの必要はないんでしょうか?