php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #47179 gzuncompress does not report expcted error
Submitted: 2009-01-21 11:11 UTC Modified: 2009-12-09 20:34 UTC
From: wharmby at uk dot ibm dot com Assigned:
Status: Closed Package: Zlib related
PHP Version: 6CVS-2009-01-21 (snap) OS: Windows XP
Private report: No CVE-ID: None
 [2009-01-21 11:11 UTC] wharmby at uk dot ibm dot com
Description:
------------
gzuncompress() does not report error if $limit > 0 but too short for data being uncompressed. 

Problem is PHP specific; test OK on latest php 5.2 and 5.3 snaps.

I will be dropping new PHPT shortly for gzuncompress(); the PHP 6 tests will be tagged with a XFAIL because of this defect. 

 

Reproduce code:
---------------
<?php
$data = b'string_val';
$compressed = gzcompress($data);
var_dump(gzuncompress($compressed, strlen($data)));
var_dump(gzuncompress($compressed, 1));
?>


Expected result:
----------------
Expected output (based on output for same script when run on 5.2/5.3)

string(10) "string_val"

Warning: gzuncompress(): buffer error in <...> on line 5
bool(false)


Actual result:
--------------
string(10) "string_val"
string(10) "string_val"

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-01-21 12:38 UTC] wharmby at uk dot ibm dot com
New test dropped into php 5.2, 5.3 and 6: 

/ext/zlib/tests/gzuncompress_error1.phpt 

PHP 6 test tagged with XFAIL referencing this defect
 [2009-12-09 20:33 UTC] svn@php.net
Automatic comment from SVN on behalf of jani
Revision: http://svn.php.net/viewvc/?view=revision&revision=291931
Log: - Fixed bug #47179 (gzuncompress does not report expcted error)
 [2009-12-09 20:34 UTC] jani@php.net
You get error now, not the same as in 5.x since they have totally different code around there, but better: insufficient memory. :)
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun May 09 09:01:23 2021 UTC