Bug #49072 [PATCH]: feof never returns true for damaged file in zip
| From: | rquadling@php.net | Date: | Tue, 01 Feb 2011 12:20:07 +0000 |
| Subject: | Bug #49072 [PATCH]: feof never returns true for damaged file in zip | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-158394@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=49072&edit=1
ID: 49072
Patch added by: rquadling@php.net
Reported by: TorokAlpar at Gmail dot com
Summary: feof never returns true for damaged file in zip
Status: Closed
Type: Bug
Package: Zip Related
Operating System: Windows Xp, Linux
PHP Version: 5.3.0
Assigned To: rquadling
Block user comment: N
Private report: N
New Comment:
The following patch has been added/updated:
Patch Name: zip_stream_errors_reported.patch
Revision: 1296562807
URL:
http://bugs.php.net/patch-display.php?bug=49072&patch=zip_stream_errors_reported.patch&revision=1296562807
Previous Comments:
------------------------------------------------------------------------
[2011-02-01 13:19:29] rquadling@php.net
The test
http://svn.php.net/viewvc/php/php-src/trunk/ext/zip/tests/bug49072.phpt
is currently failing.
From what I can tell, the reason for the failure is that the when
processing
(http://svn.php.net/viewvc/php/php-src/trunk/ext/zip/zip_stream.c?view=annotate#l31),
the return type from zip_fread (line 37) is cast to size_t.
This is, at the most basic, an unsigned type. So, when comparing (n <
0), this will always be false.
And so any errors recording during the zip_fread() call will fail to be
passed on.
Removing the casting and having n as type int, allows the test to pass
and the appropriate error is generated.
Patch attached.
------------------------------------------------------------------------
[2009-08-12 08:36:40] pajoye@php.net
Fixed in the pecl release 1.10.2 and patch applied to all branches (will
be in php 5.2.11 and 5.3.1).
------------------------------------------------------------------------
[2009-08-11 17:11:02] svn@php.net
Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=287102
Log: - merge fix for php bug #49072
------------------------------------------------------------------------
[2009-08-11 15:12:00] svn@php.net
Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=287095
Log: - fixed bug #49072, feof never returns true for damaged file in zip
------------------------------------------------------------------------
[2009-07-27 12:39:19] pajoye@php.net
Please send me the archive you used to reproduce this problem.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=49072
--
Edit this bug report at http://bugs.php.net/bug.php?id=49072&edit=1