[
https://issues.apache.org/jira/browse/COMPRESS-532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Bodewig resolved COMPRESS-532.
-------------------------------------
Fix Version/s: 1.21
Resolution: Fixed
fixed with commit 6bbc7cb1
> Decompression fails with IllegalArgumentException(BinaryTree.java:72)
> ---------------------------------------------------------------------
>
> Key: COMPRESS-532
> URL: https://issues.apache.org/jira/browse/COMPRESS-532
> Project: Commons Compress
> Issue Type: Bug
> Affects Versions: 1.20
> Reporter: Maksim Zuev
> Priority: Major
> Fix For: 1.21
>
> Attachments: IllegalArgumentException.zip
>
>
> This Kotlin code fails with exception(IllegalArgumentException.zip is in the
> attachments)
> Exception in thread "main" java.lang.IllegalArgumentException: Tree value at
> index 3 has already been assigned (-2)
> at
> org.apache.commons.compress.archivers.zip.BinaryTree.addLeaf(BinaryTree.java:72)
> at
> org.apache.commons.compress.archivers.zip.BinaryTree.addLeaf(BinaryTree.java:80)
> at
> org.apache.commons.compress.archivers.zip.BinaryTree.addLeaf(BinaryTree.java:80)
> at
> org.apache.commons.compress.archivers.zip.BinaryTree.decode(BinaryTree.java:199)
> at
> org.apache.commons.compress.archivers.zip.ExplodingInputStream.init(ExplodingInputStream.java:104)
> at
> org.apache.commons.compress.archivers.zip.ExplodingInputStream.fillBuffer(ExplodingInputStream.java:158)
> at
> org.apache.commons.compress.archivers.zip.ExplodingInputStream.read(ExplodingInputStream.java:119)
> at java.base/java.io.InputStream.read(InputStream.java:271)
> at
> org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.read(ZipArchiveInputStream.java:493)
> at java.base/java.io.InputStream.readNBytes(InputStream.java:396)
> at java.base/java.io.InputStream.readAllBytes(InputStream.java:333)
> at kotlinx.fuzzer.tests.MainKt.main(main.kt:10)
> at kotlinx.fuzzer.tests.MainKt.main(main.kt)
> {code:java}
> import org.apache.commons.compress.archivers.ArchiveStreamFactory
> import java.io.File
> fun main() {
> val tar = File("IllegalArgumentException.zip")
> ArchiveStreamFactory().createArchiveInputStream("zip",
> tar.inputStream()).use { ais ->
> ais.nextEntry
> ais.readAllBytes()
> }
> }
> {code}
> Expected some other exception as IOException is the only declared.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)