[ https://issues.apache.org/jira/browse/COMPRESS-548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Lee updated COMPRESS-548: ------------------------------- Fix Version/s: (was: 1.20) 1.21 > Decompression fails with NegativeArraySizeException > --------------------------------------------------- > > Key: COMPRESS-548 > URL: https://issues.apache.org/jira/browse/COMPRESS-548 > Project: Commons Compress > Issue Type: Bug > Affects Versions: 1.20 > Reporter: Maksim Zuev > Assignee: Peter Lee > Priority: Major > Fix For: 1.21 > > Attachments: NegativeArraySizeException.zip > > > This Kotlin code fails with exception(NegativeArraySizeException.zip is in > the attachments) > Exception in thread "main" java.lang.NegativeArraySizeException: -3 > at > org.apache.commons.compress.archivers.zip.AsiExtraField.parseFromLocalFileData(AsiExtraField.java:271) > at > org.apache.commons.compress.archivers.zip.ExtraFieldUtils.fillExtraField(ExtraFieldUtils.java:324) > at > org.apache.commons.compress.archivers.zip.ZipArchiveEntry$ExtraFieldParsingMode.fillAndMakeUnrecognizedOnError(ZipArchiveEntry.java:1219) > at > org.apache.commons.compress.archivers.zip.ZipArchiveEntry$ExtraFieldParsingMode.access$100(ZipArchiveEntry.java:1127) > at > org.apache.commons.compress.archivers.zip.ZipArchiveEntry$ExtraFieldParsingMode$1.fill(ZipArchiveEntry.java:1142) > at > org.apache.commons.compress.archivers.zip.ExtraFieldUtils.parse(ExtraFieldUtils.java:214) > at > org.apache.commons.compress.archivers.zip.ZipArchiveEntry.setExtra(ZipArchiveEntry.java:675) > at > org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.getNextZipEntry(ZipArchiveInputStream.java:341) > at > org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.getNextEntry(ZipArchiveInputStream.java:435) > at kotlinx.fuzzer.tests.apache.zip.ApacheZipTestKt.main(ApacheZipTest.kt:85) > at kotlinx.fuzzer.tests.apache.zip.ApacheZipTestKt.main(ApacheZipTest.kt) > {code:java} > import org.apache.commons.compress.archivers.ArchiveStreamFactory > import java.io.ByteArrayInputStream > import java.io.File > fun main() { > val bytes = File("NegativeArraySizeException.zip").readBytes() > val input = ByteArrayInputStream(bytes) > ArchiveStreamFactory().createArchiveInputStream("zip", input).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)