summaryrefslogtreecommitdiff
path: root/ext/zlib/zlib.c
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 /ext/zlib/zlib.c
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
Diffstat (limited to 'ext/zlib/zlib.c')
-rw-r--r--ext/zlib/zlib.c12
1 files changed, 3 insertions, 9 deletions
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);