うえのです。

# ruby-ext は subscribe していますので、ここに投げるのであれば
# 個人宛は不要です。

On Mon, 24 Dec 2001 16:05:26 +0900
HARUYAMA Seigo <haruyama / queen-ml.org> wrote:

>   このブラウザでgzip圧縮されたファイルを
>   改行区切りで読みこむ処理をしているのですが
>   行が長い場合にSegmentation faultをすることがあります.

以下のパッチで直ります。

--- zlib.c.orig	Tue Sep 26 14:47:02 2000
+++ zlib.c	Thu Sep 13 16:38:32 2001
@@ -274,8 +274,9 @@
 	memmove(RSTRING(z->buf)->ptr, RSTRING(z->buf)->ptr + len,
 		z->buf_filled);
 	z->stream.next_out = RSTRING(z->buf)->ptr + z->buf_filled;
-	z->stream.avail_out = (z->buf_filled < ZSTREAM_AVAIL_OUT_STEP) ?
-		z->buf_filled : ZSTREAM_AVAIL_OUT_STEP;
+	z->stream.avail_out = RSTRING(z->buf)->len - z->buf_filled;
+	if (z->stream.avail_out > ZSTREAM_AVAIL_OUT_STEP)
+		z->stream.avail_out = ZSTREAM_AVAIL_OUT_STEP;

 	return dst;
 }


実は、3ヶ月前に同種のバグの報告を個人宛で頂いていて、
このパッチはその時に作成したものです。
Ruby/zlib に構っている時間がなくて、報告を頂いたにもかかわらず
新しいバージョンをリリースするのを怠っていました。
申し訳ないです。



 --  ----  -     - - -- -
うえの かつひろ <unnie / blue.sky.or.jp>