mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
MFH: Fixed bug #61287 (A particular string fails to decompress)
This commit is contained in:
parent
f05886dbcb
commit
39d2996c57
1
NEWS
1
NEWS
@ -61,6 +61,7 @@ PHP NEWS
|
||||
|
||||
- Zlib:
|
||||
. Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov)
|
||||
. Fixed bug #61287 (A particular string fails to decompress). (Mike)
|
||||
|
||||
01 Mar 2012, PHP 5.4.0
|
||||
|
||||
|
@ -65,6 +65,7 @@ extern zend_module_entry php_zlib_module_entry;
|
||||
#define phpext_zlib_ptr zlib_module_ptr
|
||||
|
||||
#ifdef ZTS
|
||||
# include "TSRM.h"
|
||||
# define ZLIBG(v) TSRMG(zlib_globals_id, zend_zlib_globals *, v)
|
||||
#else
|
||||
# define ZLIBG(v) (zlib_globals.v)
|
||||
|
24
ext/zlib/tests/bug61287.phpt
Normal file
24
ext/zlib/tests/bug61287.phpt
Normal file
@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
bug #61287 - inflate needs the terminating null byte
|
||||
--SKIPIF--
|
||||
<?php extension_loaded("zlib") or die("SKIP need zlib");
|
||||
--FILE--
|
||||
<?php
|
||||
$array = array(
|
||||
'region_id' => 1,
|
||||
'discipline' => 23,
|
||||
'degrees' => array(),
|
||||
'country_id' => 27
|
||||
);
|
||||
|
||||
$serialized = serialize($array);
|
||||
|
||||
$deflated = gzdeflate($serialized, 9);
|
||||
$inflated = gzinflate($deflated);
|
||||
|
||||
echo strlen($inflated),"\n";
|
||||
?>
|
||||
Done
|
||||
--EXPECT--
|
||||
92
|
||||
Done
|
@ -400,7 +400,7 @@ retry_raw_inflate:
|
||||
status = inflateInit2(&Z, encoding);
|
||||
if (Z_OK == status) {
|
||||
Z.next_in = (Bytef *) in_buf;
|
||||
Z.avail_in = in_len;
|
||||
Z.avail_in = in_len + 1; /* NOTE: data must be zero terminated */
|
||||
|
||||
switch (status = php_zlib_inflate_rounds(&Z, max_len, out_buf, out_len)) {
|
||||
case Z_STREAM_END:
|
||||
|
Loading…
Reference in New Issue
Block a user