From: Dominik Stadler Date: Tue, 1 Jan 2019 20:10:51 +0000 (+0000) Subject: Add missing file-close in ZipInputStreamZipEntrySource seen in some mass regression... X-Git-Tag: REL_4_1_0~129 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fa24471916406b3e31e44f40a3d91471cc9cb4af;p=poi.git Add missing file-close in ZipInputStreamZipEntrySource seen in some mass regression tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850114 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ooxml/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java b/src/ooxml/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java index 0a56966d4f..ef8d20eb76 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java @@ -35,7 +35,9 @@ import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; */ public class ZipInputStreamZipEntrySource implements ZipEntrySource { private final Map zipEntries = new HashMap<>(); - + + private InputStream streamToClose; + /** * Reads all the entries from the ZipInputStream * into memory, and don't close (since POI 4.0.1) the source stream. @@ -50,6 +52,8 @@ public class ZipInputStreamZipEntrySource implements ZipEntrySource { } zipEntries.put(zipEntry.getName(), new ZipArchiveFakeEntry(zipEntry, inp)); } + + streamToClose = inp; } @Override @@ -64,9 +68,11 @@ public class ZipInputStreamZipEntrySource implements ZipEntrySource { } @Override - public void close() { + public void close() throws IOException { // Free the memory zipEntries.clear(); + + streamToClose.close(); } @Override