cvs: php4(PHP_4_2_0) /ext/zlib zlib.c /ext/zlib/tests 001.phpt
| From: | Stefan Roehrich | Date: | Wed, 13 Mar 2002 20:39:27 +0000 |
| Subject: | cvs: php4(PHP_4_2_0) /ext/zlib zlib.c /ext/zlib/tests 001.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-10083@lists.php.net to get a copy of this message | ||
sr Wed Mar 13 15:39:27 2002 EDT
Modified files: (Branch: PHP_4_2_0)
/php4/ext/zlib zlib.c
/php4/ext/zlib/tests 001.phpt
Log:
Fix for #14939 in release branch.
Index: php4/ext/zlib/zlib.c
diff -u php4/ext/zlib/zlib.c:1.106 php4/ext/zlib/zlib.c:1.106.2.1
--- php4/ext/zlib/zlib.c:1.106 Thu Feb 28 22:05:50 2002
+++ php4/ext/zlib/zlib.c Wed Mar 13 15:39:26 2002
@@ -18,7 +18,7 @@
| Jade Nicoletti <nicoletti@nns.ch> |
+----------------------------------------------------------------------+
*/
-/* $Id: zlib.c,v 1.106 2002/03/01 03:05:50 yohgaki Exp $ */
+/* $Id: zlib.c,v 1.106.2.1 2002/03/13 20:39:26 sr Exp $ */
#define IS_EXT_MODULE
#ifdef HAVE_CONFIG_H
@@ -919,7 +919,7 @@
}
/* }}} */
-/* {{{ 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 @@
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;
Index: php4/ext/zlib/tests/001.phpt
diff -u php4/ext/zlib/tests/001.phpt:1.1 php4/ext/zlib/tests/001.phpt:1.1.4.1
--- php4/ext/zlib/tests/001.phpt:1.1 Fri Jul 13 11:48:37 2001
+++ php4/ext/zlib/tests/001.phpt Wed Mar 13 15:39:26 2002
@@ -11,7 +11,16 @@
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