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)

Reply via email to