[ 
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)

Reply via email to