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

Back to archive index

Takuro Ashie ashie****@homa*****
2003年 10月 26日 (日) 22:29:02 JST


At Sun, 26 Oct 2003 20:13:54 +0900,
Hiroyuki Ikezoe wrote:
> やっと自分の環境でvalgrindを動かすことができたのでチェックしてみました。
> 結果、3箇所でエラーが出てました。

ご苦労さまです.


> 1.
> Invalid read of size 1

snip

> 一応これで直るには直ったんですが、なんかいかん気がしてます。
> しっかり追えてません…。

kz_profile_enum_key()で取得したkeyをそのままkz_profile_delete_keyに渡
しているので,引数のkeyと,p->keyが同じメモリ領域を指しているため,一
度pを解放すると,keyも解放されてしまうようです.

万が一同一のkeyが複数あるとこの修正ではまずいので,最初にkeyの方をコピー
して使うように修正してコミットしておきました.


> これはこれで直ってると思います(コード的にはともかく)。

とりあえずこれで良いのではないかと思います.
コード的には,そもそも元の私のコードがアレですね(わら


> 3.
> 40 bytes in 2 blocks are definitely lost in loss record 37 of 131
>    at 0x4002AF09: calloc (in /usr/lib/valgrind/vgskin_memcheck.so)
>    by 0x407994E0: g_malloc0 (in /usr/lib/libglib-2.0.so.0.200.3)
>    by 0x8080ACB: kz_xml_node_new (kz-xml.c:340)
>    by 0x8080B32: kz_xml_node_new(kz-xml.c:356)

kz_xml_node_unref()で,nodeそのものを解放していませんでした.
修正してコミットしておきました.


他のツールで確認すると,まだメモリリークがありそうなので,後でまた報告
します.




Kazehakase-devel メーリングリストの案内
Back to archive index