Corrupt zip files can cause infinite loop
-----------------------------------------
Key: COMPRESS-96
URL: https://issues.apache.org/jira/browse/COMPRESS-96
Project: Commons Compress
Issue Type: Bug
Affects Versions: 1.0
Environment: OS/X java 1.6
Reporter: Matthew Bellew
Priority: Critical
I have a corrupt .zip file (in my Download directory) that causes
ZipArchiveInputStream to enter an infinite loop on the second call to
getEntry(). This was discovered while testing a Tika/Lucene based search
application. Obviously, it would be preferable to detect and throw an
exception. The short explanation is that closeEntry() calls
skip(Long.MAX_VALUE). skip() calls read() which returns 0 and inf.finished()
remains false, so no progress is made and skip() spins.
If it helps, entry.getSize() returns -1 for the first entry. I can provide the
file to repro (775800 bytes).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.