summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-22 15:28:13 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-22 15:28:13 +0000
commit3377aebed4fafbc40e873a4923af39d96c249fe7 (patch)
tree04cdf0127e7e93fff6e4c4f7ce40a37493f6a86d
parent1419b789ab827452d1c91c552ec0c121b93b9b0e (diff)
* ext/zlib/zlib.c (zstream_run): always use zstream_append_input()
to avoid SEGV. [ruby-dev:24568] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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 7a2c35c9bf..362697997f 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 aed2a26134..633bd2d3bb 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);