From 5895385153aa1b56717495b816238961d03023a5 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 17 Jun 2015 20:26:06 +0200 Subject: fix a couple of resource leaks (#1351) --- .../keychain/util/ParcelableFileCache.java | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java index 5a314ad0b..eabbf83b8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java @@ -66,21 +66,24 @@ public class ParcelableFileCache { File tempFile = new File(mContext.getCacheDir(), mFilename); - DataOutputStream oos = new DataOutputStream(new FileOutputStream(tempFile)); - oos.writeInt(numEntries); + DataOutputStream oos = new DataOutputStream(new FileOutputStream(tempFile)); - while (it.hasNext()) { - Parcel p = Parcel.obtain(); // creating empty parcel object - p.writeParcelable(it.next(), 0); // saving bundle as parcel - byte[] buf = p.marshall(); - oos.writeInt(buf.length); - oos.write(buf); - p.recycle(); + try { + oos.writeInt(numEntries); + + while (it.hasNext()) { + Parcel p = Parcel.obtain(); // creating empty parcel object + p.writeParcelable(it.next(), 0); // saving bundle as parcel + byte[] buf = p.marshall(); + oos.writeInt(buf.length); + oos.write(buf); + p.recycle(); + } + } finally { + oos.close(); } - oos.close(); - } /** -- cgit v1.2.3