diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 0a0d0fb4a..e78bd62e9 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -214,6 +214,7 @@ Larry Streepy Les Hughes Levi Cook lucas +Lucas Werkmeister Ludovic Claude Maarten Coene Magesh Umasankar diff --git a/WHATSNEW b/WHATSNEW index 0cacc73f8..6db5548de 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -7,6 +7,10 @@ Changes that could break older environments: Fixed bugs: ----------- + * ArrayIndexOutOfBoundsException when ZIP extra fields are read and + the entry contains an UnparseableExtraField. + https://issues.apache.org/jira/browse/COMPRESS-317 + Other changes: -------------- diff --git a/contributors.xml b/contributors.xml index d7c7162c8..7ea115e35 100644 --- a/contributors.xml +++ b/contributors.xml @@ -882,6 +882,10 @@ lucas + + Lucas + Werkmeister + Ludovic Claude diff --git a/src/main/org/apache/tools/zip/ZipEntry.java b/src/main/org/apache/tools/zip/ZipEntry.java index f66baf228..30a8155bd 100644 --- a/src/main/org/apache/tools/zip/ZipEntry.java +++ b/src/main/org/apache/tools/zip/ZipEntry.java @@ -361,7 +361,7 @@ public class ZipEntry extends java.util.zip.ZipEntry implements Cloneable { private ZipExtraField[] getMergedFields() { final ZipExtraField[] zipExtraFields = copyOf(extraFields, extraFields.length + 1); - zipExtraFields[zipExtraFields.length] = unparseableExtra; + zipExtraFields[extraFields.length] = unparseableExtra; return zipExtraFields; }