summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/zlib/zlib.c12
2 files changed, 8 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a2c35c9b..362697997 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Oct 23 00:20:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/zlib/zlib.c (zstream_run): always use zstream_append_input()
+ to avoid SEGV. [ruby-dev:24568]
+
Fri Oct 22 12:02:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_alias): was warning for wrong condition.
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index aed2a2613..633bd2d3b 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -699,15 +699,9 @@ zstream_run(z, src, len, flush)
uInt n;
int err;
- if (NIL_P(z->input)) {
- z->stream.next_in = src;
- z->stream.avail_in = len;
- }
- else {
- zstream_append_input(z, src, len);
- z->stream.next_in = RSTRING(z->input)->ptr;
- z->stream.avail_in = RSTRING(z->input)->len;
- }
+ zstream_append_input(z, src, len);
+ z->stream.next_in = RSTRING(z->input)->ptr;
+ z->stream.avail_in = RSTRING(z->input)->len;
if (z->stream.avail_out == 0) {
zstream_expand_buffer(z);