From: Koji Arai Date: 2001-02-14T08:13:27+09:00 Subject: [ruby-dev:12234] Re: patch for ext/gdbm 新井です。 取り急ぎ > まつもと ゆきひろです > |さらに、今気が付いたのですが GDBM はメモリリークしてますね。 > |# gdbm_fetch() 後はfree()しないといけない > > これでなんでリークしなくなるのかよく分からないんですけど、信 > じることにします。 ありゃ?変数名がまずかったかな? static datum gdbm_fetch_1(dbm, key) GDBM_FILE dbm; datum key; { static char *last_fetched_dptr; datum val; val = gdbm_fetch(dbm, key); if (last_fetched_dptr) free(last_fetched_dptr); last_fetched_dptr = val.dptr; return val; } で、いかが?つまり手抜きしてるのです。最後にfetchした領域は free()されません。 -- 新井康司 (Koji Arai)