Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
This Kotlin code fails with exception(IllegalArgumentException.zipĀ is in the attachments)
Exception in thread "main" java.lang.IllegalArgumentException: 29 > 0 at java.base/java.util.Arrays.copyOfRange(Arrays.java:4029) at org.apache.commons.compress.archivers.zip.X0017_StrongEncryptionHeader.parseFileFormat(X0017_StrongEncryptionHeader.java:345) at org.apache.commons.compress.archivers.zip.X0017_StrongEncryptionHeader.parseFromLocalFileData(X0017_StrongEncryptionHeader.java:410) 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)
import org.apache.commons.compress.archivers.ArchiveStreamFactory import java.io.ByteArrayInputStream import java.io.File fun main() { val bytes = File("IllegalArgumentException.zip").readBytes() val input = ByteArrayInputStream(bytes) ArchiveStreamFactory().createArchiveInputStream("zip", input).use { ais -> ais.nextEntry ais.readAllBytes() } }
Expected some other exception as IOException is the only declared.