From 0825c7a4f8f3878f17b2a1d667478e8965ea1150 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sat, 20 Nov 2021 13:43:27 +0000 Subject: [PATCH] use try block to close input streams git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895202 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/poifs/crypt/cryptoapi/CryptoAPIEncryptor.java | 6 +++--- .../org/apache/poi/sl/draw/BitmapImageRenderer.java | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/poi/src/main/java/org/apache/poi/poifs/crypt/cryptoapi/CryptoAPIEncryptor.java b/poi/src/main/java/org/apache/poi/poifs/crypt/cryptoapi/CryptoAPIEncryptor.java index 3e821f17a0..56ce16e10a 100644 --- a/poi/src/main/java/org/apache/poi/poifs/crypt/cryptoapi/CryptoAPIEncryptor.java +++ b/poi/src/main/java/org/apache/poi/poifs/crypt/cryptoapi/CryptoAPIEncryptor.java @@ -143,9 +143,9 @@ public class CryptoAPIEncryptor extends Encryptor { descEntry.reserved2 = 0; bos.setBlock(block); - DocumentInputStream dis = dir.createDocumentInputStream(entry); - IOUtils.copy(dis, bos); - dis.close(); + try (DocumentInputStream dis = dir.createDocumentInputStream(entry)) { + IOUtils.copy(dis, bos); + } descEntry.streamSize = bos.size() - descEntry.streamOffset; descList.add(descEntry); diff --git a/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java b/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java index 098555cb4f..14bd636e84 100644 --- a/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java +++ b/poi/src/main/java/org/apache/poi/sl/draw/BitmapImageRenderer.java @@ -85,11 +85,12 @@ public class BitmapImageRenderer implements ImageRenderer { public void loadImage(InputStream data, String contentType) throws IOException { InputStream in = data; if (doCache) { - UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream(); - IOUtils.copy(data, bos); - cachedImage = bos.toByteArray(); - cachedContentType = contentType; - in = bos.toInputStream(); + try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) { + IOUtils.copy(data, bos); + cachedImage = bos.toByteArray(); + cachedContentType = contentType; + in = bos.toInputStream(); + } } img = readImage(in, contentType); }