From: Tanaka Akira Date: 2004-12-14T23:52:03+09:00 Subject: [ruby-dev:25196] Re: double free problem In article <41BEF768.7030008@ttsky.net>, Takaaki Tateishi writes: > これについて、意見を伺いたいと思っています。現状の実装では、戻り > 値の型をconst char * にするか、あるいは、void * として受けること > で解決できます。 > そして今回の問題は、Cで文字列を扱う場合にはfreeするかどうかはユー > ザが決定すべきものですが、import.rb では、そのfreeの権限を型(プロ > トタイプ)から推測させてしまっていることが根本的な原因です。 > このため、このような推測をやめるという方法もとれますが、この場合、 > プロトタイプ宣言をexternメソッドに与える際に、別の方法でユーザか > らfreeするかどうかを明示的に与えてもらう必要があります。どちらの > 方が良いでしょうか? (私は現状のままがいいかなと思っています) > あるいは、他の方法など提案してもらえると助かります。 引数のポインタと返値のポインタを比較して、引数に渡したものが返ってきた ことを検出するのではうまくいかないんでしょうか? -- [田中 哲][たなか あきら][Tanaka Akira]