From: matz@... (Yukihiro Matsumoto) Date: 2004-04-07T00:13:06+09:00 Subject: [ruby-dev:23343] Re: Zlib::GzipWriter.new(nil).close dumps core まつもと ゆきひろです In message "[ruby-dev:23342] Re: Zlib::GzipWriter.new(nil).close dumps core" on 04/04/06, nobu.nakada@nifty.ne.jp writes: |やっぱり[ruby-dev:23230]だけじゃ不十分のようですが、とりあえず |test_zlib.rbでstack overflowしてcore吐くのは嬉しくないので、場 |当たり的ながら。 | | |* io.c (rb_write_error2): write to system stderr when rb_stderr is not | alive. | |* ruby.h (OBJ_ALIVE_P): return true if object is alive. 私はzlib.cに添付のパッチの修正をしてみました。どんなもんでしょ うか? --- ext/zlib/zlib.c 28 Mar 2004 14:10:39 -0000 1.10 +++ ext/zlib/zlib.c 6 Apr 2004 15:11:09 -0000 @@ -2159,2 +2160,3 @@ gzfile_writer_end(gz) if (ZSTREAM_IS_FINALIZE(&gz->z)) { + if (NIL_P(gz->io)) return; rb_warn("Zlib::GzipWriter object must be closed explicitly.");