From: Stefan Roehrich Date: Wed, 13 Mar 2002 20:39:26 +0000 (+0000) Subject: Fix for #14939 in release branch. X-Git-Tag: php-4.2.0RC1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=29b1a4e97df859eddba7bbd24980680e8c7127e9;p=php Fix for #14939 in release branch. --- diff --git a/ext/zlib/tests/001.phpt b/ext/zlib/tests/001.phpt index fab6d5dfa3..40b84c6f07 100644 --- a/ext/zlib/tests/001.phpt +++ b/ext/zlib/tests/001.phpt @@ -11,7 +11,16 @@ $packed=gzdeflate($original); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzinflate($packed); if (strcmp($original,$unpacked)==0) echo "Strings are equal"; + +echo "\n"; +$original = 'aaaaaaaaaaaaaaa'; +$packed=gzdeflate($original); +echo strlen($packed)." ".strlen($original)."\n"; +$unpacked=gzinflate($packed); +if (strcmp($original,$unpacked)==0) echo "Strings are equal"; ?> --EXPECT-- 100 36864 Strings are equal +5 15 +Strings are equal \ No newline at end of file diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 6f0f08d298..02889609c7 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -919,7 +919,7 @@ PHP_FUNCTION(gzdeflate) } /* }}} */ -/* {{{ proto string gzinflate(string data, int length) +/* {{{ proto string gzinflate(string data [, int length]) Unzip a gzip-compressed string */ PHP_FUNCTION(gzinflate) { @@ -967,7 +967,7 @@ PHP_FUNCTION(gzinflate) if(! s2) { if(s1) efree(s1); RETURN_FALSE; } stream.next_in = (Bytef*) Z_STRVAL_PP(data); - stream.avail_in = (uInt) Z_STRLEN_PP(data); + stream.avail_in = (uInt) Z_STRLEN_PP(data) + 1; /* there is room for \0 */ stream.next_out = s2; stream.avail_out = (uInt) length;