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.

Reply via email to