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
This commit is contained in:
Dominik Stadler 2019-01-01 20:10:51 +00:00
parent bfecad39e5
commit fa24471916
1 changed files with 8 additions and 2 deletions

View File

@ -36,6 +36,8 @@ import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
public class ZipInputStreamZipEntrySource implements ZipEntrySource {
private final Map<String, ZipArchiveFakeEntry> 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