[Kazehakase-devel] valgrindでのチェック

Zurück zum Archiv-Index

Takuro Ashie ashie****@homa*****
2003年 10月 27日 (月) 00:08:51 JST


At Sun, 26 Oct 2003 22:46:16 +0900,
Hiroyuki Ikezoe wrote:
> あれ、まだありましたか。

修正してコミット済ですが,一応報告しておきます.

  * kz-remote-bookmark.c で,KzHTTPが解放されていないようでした.
    シグナルハンドラ内で解放するとまずそうなので,fetch-completed終了
    後にメインループで解放するように修正しました.

  * prefs_lang_response() で kz_dlist_get_enabled_id()の返り値を解放
    していませんでした.

  * kz-tablabel.c で cb_copy() の "URIとタイトルをコピー" の処理をし
    た後に文字列を解放していないのを修正しました.

    GTK+-2.0では,関数が文字列を返し,呼出側がそれを解放しなければなら
    ない場合,返り値はconst付きで定義されています.風博士でもこのルー
    ルに従って関数を定義しているつもりですので,機械的に「constが付い
    てない場合は自分で解放する」を徹底した方が良いと思います.また,
    これを徹底するために,返り値を格納する変数も,constを付ける/付け
    ないで見分けるようにしておくと,バグを未然に防げる可能性が高まり
    ます.
    (コメントを付けて見分けようとする人もいますが,constを付けておい
    た方がコンパイラが警告を出してくれるので,より安全です.)

    ついでに言うと,関数の引数でポインタを渡す場合(特に文字列),関数の
    中身でポインタの指し示す先(char*なら文字列そのもの)を変更しない場
    合は,明示的にconstを付けて定義しておいた方が,バグを未然に防げる
    可能性が高まります.

   * kz_bookmark_menu_items_new() と kz_bookmark_menu_dispose() での
     sub_menuの解放を修正.

   えーと,これは私も昔ひっかかった事があって,その時に色々と調べたの
   ですが,詳しい事は忘れてしまって(^^;ちょっと今すぐには説明できませ
   ん.


> っていうかmozilla漏れすぎですね、あれ。

メモリリーク以外にも,色々と問題がありそうです.
Mozillaはもう(以下自粛)



Kazehakase-devel メーリングリストの案内
Zurück zum Archiv-Index