[jira] [Comment Edited] (COMPRESS-219) ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a STORED zip file entry from within a zip.

2013-02-20 Thread Wurstbrot mit Senf (JIRA)

[ 
https://issues.apache.org/jira/browse/COMPRESS-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582252#comment-13582252
 ] 

Wurstbrot mit Senf edited comment on COMPRESS-219 at 2/20/13 4:01 PM:
--

Modified test (NIO.2)

Oh, and forget about the "static" methods. Shouldn't be static :-)

  was (Author: wurstbrot):
Modified test (NIO.2)
  
> ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a 
> STORED zip file entry from within a zip.
> 
>
> Key: COMPRESS-219
> URL: https://issues.apache.org/jira/browse/COMPRESS-219
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.4.1
> Environment: Windows (Linux as well)
>Reporter: Wurstbrot mit Senf
>Priority: Minor
> Attachments: compress-219-test.patch, test-linux.zip, 
> ZipArchiveInputStreamTest.java
>
>
> When trying to read out a ZIP file, that has been stored (Method STORE, not 
> DEFLATE!, with DEFLATE it seems OK) in another ZIP file using the 
> ZipArchiveInputStream, I do get an ArrayIndexOutOfBoundsException when doing 
> the arraycopy in ZipArchiveInputStream#readStored(byte[], int, int) (line 
> 362) because the "toRead" is not decreased by the buf.offsetInBuffer.
> I will add the zip in question as attachment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (COMPRESS-219) ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a STORED zip file entry from within a zip.

2013-02-20 Thread Wurstbrot mit Senf (JIRA)

[ 
https://issues.apache.org/jira/browse/COMPRESS-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582250#comment-13582250
 ] 

Wurstbrot mit Senf edited comment on COMPRESS-219 at 2/20/13 3:59 PM:
--

What you did in the test, works: you wrote the stream to a file, i.e. you 
actually copied the internal zip to the file. What causes the problem is the 
actual deflating of the zip within the zip.

That is: creating a new ZipArchiveInputStream from the ZipArchiveInputStream 
like in the following snippet (I rewrote your code a bit for NIO.2, sorry for 
that :-() so it reproduces the error and attached it to the issue.

  was (Author: wurstbrot):
What you did in the test, works: you wrote the stream to a file, i.e. you 
actually copied the internal zip to the file. What causes the problem is the 
actuall deflating of the zip within the zip.

That is: creating a new ZipArchiveInputStream from the ZipArchiveInputStream 
like in the following snippet (I rewrote your code for NIO.2, sorry for that 
:-() and attached it to the issue.
  
> ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a 
> STORED zip file entry from within a zip.
> 
>
> Key: COMPRESS-219
> URL: https://issues.apache.org/jira/browse/COMPRESS-219
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.4.1
> Environment: Windows (Linux as well)
>Reporter: Wurstbrot mit Senf
>Priority: Minor
> Attachments: compress-219-test.patch, test-linux.zip, 
> ZipArchiveInputStreamTest.java
>
>
> When trying to read out a ZIP file, that has been stored (Method STORE, not 
> DEFLATE!, with DEFLATE it seems OK) in another ZIP file using the 
> ZipArchiveInputStream, I do get an ArrayIndexOutOfBoundsException when doing 
> the arraycopy in ZipArchiveInputStream#readStored(byte[], int, int) (line 
> 362) because the "toRead" is not decreased by the buf.offsetInBuffer.
> I will add the zip in question as attachment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (COMPRESS-219) ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a STORED zip file entry from within a zip.

2013-02-20 Thread Wurstbrot mit Senf (JIRA)

[ 
https://issues.apache.org/jira/browse/COMPRESS-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582250#comment-13582250
 ] 

Wurstbrot mit Senf edited comment on COMPRESS-219 at 2/20/13 3:43 PM:
--

What you did in the test, works: you wrote the stream to a file, i.e. you 
actually copied the internal zip to the file. What causes the problem is the 
actuall deflating of the zip within the zip.

That is: creating a new ZipArchiveInputStream from the ZipArchiveInputStream 
like in the following snippet (I rewrote your code for NIO.2, sorry for that 
:-() and attached it to the issue.

  was (Author: wurstbrot):
What you did in the test, works: you wrote the stream to a file, i.e. you 
actually copied the internal zip to the file. What causes the problem is the 
actuall deflating of the zip within the zip.

That is: creating a new ZipArchiveInputStream from the ZipArchiveInputStream 
like in the following snippet (I rewrote your code for NIO.2, sorry for that 
:-():
@Test
  public static void shouldReadNestedZip() throws Exception {
final Path outDir = Files.createDirectories(Paths.get("dir"));
try (ZipArchiveInputStream in = new 
ZipArchiveInputStream(Files.newInputStream(Paths.get("COMPRESS-219.zip")));) {
  extractZipInputStream(outDir, in);
} finally {
  FileUtils.deleteDirectory(outDir.toFile());
}
  }

  private static void extractZipInputStream(final Path outDir, final 
ZipArchiveInputStream in) throws IOException {
ZipArchiveEntry zae = in.getNextZipEntry();
while (zae != null) {
  if (zae.getName().endsWith(".zip")) {
final Path outFile = 
outDir.resolve(Paths.get(zae.getName().replace("^/", "")));
Files.createDirectories(outFile);
final ZipArchiveInputStream zipInZip = new ZipArchiveInputStream(in);
extractZipInputStream(outFile, zipInZip);
  }
  zae = in.getNextZipEntry();
}
  }
  
> ZipArchiveInputStream: ArrayIndexOutOfBoundsException when extracting a 
> STORED zip file entry from within a zip.
> 
>
> Key: COMPRESS-219
> URL: https://issues.apache.org/jira/browse/COMPRESS-219
> Project: Commons Compress
>  Issue Type: Bug
>  Components: Archivers
>Affects Versions: 1.4.1
> Environment: Windows (Linux as well)
>Reporter: Wurstbrot mit Senf
>Priority: Minor
> Attachments: compress-219-test.patch, test-linux.zip
>
>
> When trying to read out a ZIP file, that has been stored (Method STORE, not 
> DEFLATE!, with DEFLATE it seems OK) in another ZIP file using the 
> ZipArchiveInputStream, I do get an ArrayIndexOutOfBoundsException when doing 
> the arraycopy in ZipArchiveInputStream#readStored(byte[], int, int) (line 
> 362) because the "toRead" is not decreased by the buf.offsetInBuffer.
> I will add the zip in question as attachment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira