Radu Almășan created COMPRESS-268:
-------------------------------------

             Summary: Buffer not read first time for entries with STORED 
compression method
                 Key: COMPRESS-268
                 URL: https://issues.apache.org/jira/browse/COMPRESS-268
             Project: Commons Compress
          Issue Type: Bug
          Components: Archivers
         Environment: * Fedora 20 x64
* Java 1.7.0_51 x64
* archive created with Nautilus' context menu
            Reporter: Radu Almășan


Trying to extract a ZIP archive that contains entries with {{STORED}} 
compression method, the {{ZipArchiveInputStream.readStored(byte[], int, int)}} 
method is called. At this point, because the {{buf}} array has not had a chance 
to be populated with values from the underlying input stream and because 
there's no condition to detect this, the resulting content is prefixed with the 
buffer's length (512) of 0 bytes.

I've found that chancing:
bq. if (buf.position() >= buf.limit()) {
with
bq. if (buf.position() >= buf.limit() || current.bytesReadFromStream == 0) {
solves the issue.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to