[sylpheed-jp:10278] Re: SSL を使うと落ちる問題について (Re: Sylpheed 2.4.0 (stable) released)

Hiroyuki Yamamoto hiro-y @ kcn.ne.jp
2007年 4月 22日 (日) 20:13:11 JST


山本です。

On Sun, 22 Apr 2007 15:35:29 +0900
Akihiro Okamura <aokamura @ iris.eonet.ne.jp> wrote:

> SSL を使うと落ちる問題ですが、メモリの alloc/free が、ランタイムをまた
> がって行なわれていることが原因のようです。
> 
> http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vclib/html/_crt_c_run.2d.time_libraries.asp
> には下記のような記載があります。
> 
> ---
> msvcrt.dll と msvcr71.dll の境界を越えて CRT リソースを渡す場合は、
> CRT の不一致によって問題が発生するため、Visual C++ .NET でプロジェクト
> をコンパイルし直す必要があります。 ---
> 
> SSLライブラリは MSVCR71.DLL にリンク、sylpheed (GLIB) は、MSVCRT.DLL
> にリンクされていますが、libsylph の中で SSLライブラリ側で alloc したメ
> モリを GLIB の関数(マクロ?)を使って free している個所があり、上記に該
> 当しています。落ちているのも、GLIB の free を呼び出したタイミングでし
> たので、この処理が原因だと思われます。
> 
> というわけで、パッチを添付します。
> 手元の落ちていた環境では、このパッチをあてた sylpheed で SSL+IMAP が使
> えることを確認済みです。

なるほど、理解しました。反映させておきます。
(ちなみに g_free() は内部で(MSVCRT.DLL の) free() をそのまま呼んでいま
す)

いずれにせよ MSVCR71.DLL に依存するのはまずいので、月曜に MSVCRT.DLL を
リンクしたものに差し替えた 0.9.8a をリリースしようと思います。

-- 
Hiroyuki Yamamoto <hiro-y @ kcn.ne.jp>


Sylpheed-jp メーリングリストの案内