You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Maksim Zuev (Jira)" <ji...@apache.org> on 2020/05/29 13:08:00 UTC

[jira] [Created] (COMPRESS-532) Decompression fails with IllegalArgumentException(BinaryTree.java:72)

Maksim Zuev created COMPRESS-532:
------------------------------------

             Summary: 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
         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)