From fa24471916406b3e31e44f40a3d91471cc9cb4af Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Tue, 1 Jan 2019 20:10:51 +0000 Subject: [PATCH] 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 --- .../openxml4j/util/ZipInputStreamZipEntrySource.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 -- 2.39.5