From b2e2f48ad9b1f65cd44e67f81d60a8473f6be6c2 Mon Sep 17 00:00:00 2001 From: Marc Zwart Date: Tue, 20 Mar 2018 14:20:31 +0100 Subject: [PATCH] closed unclosed resources in copyCompressed method in Copier --- Mage/src/main/java/mage/util/Copier.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Mage/src/main/java/mage/util/Copier.java b/Mage/src/main/java/mage/util/Copier.java index df5b6772be5..56c23854248 100644 --- a/Mage/src/main/java/mage/util/Copier.java +++ b/Mage/src/main/java/mage/util/Copier.java @@ -79,14 +79,15 @@ public class Copier { } public byte[] copyCompressed(T obj) { + FastByteArrayOutputStream fbos = null; + ObjectOutputStream out = null; try { - FastByteArrayOutputStream fbos = new FastByteArrayOutputStream(); - ObjectOutputStream out= new ObjectOutputStream(new GZIPOutputStream(fbos)); + fbos = new FastByteArrayOutputStream(); + out = new ObjectOutputStream(new GZIPOutputStream(fbos)); // Write the object out to a byte array out.writeObject(obj); out.flush(); - out.close(); byte[] copy = new byte[fbos.getSize()]; System.arraycopy(fbos.getByteArray(), 0, copy, 0, fbos.getSize()); @@ -94,6 +95,9 @@ public class Copier { } catch(IOException e) { e.printStackTrace(); + } finally { + StreamUtils.closeQuietly(fbos); + StreamUtils.closeQuietly(out); } return null; }