aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-17 20:26:06 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-17 20:26:06 +0200
commit5895385153aa1b56717495b816238961d03023a5 (patch)
tree49c264ef05d7dbfd3059595a764fe8a10b32031c /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java
parent300fd8e0f26c328aa351318fdea17485d2d940d4 (diff)
downloadopen-keychain-5895385153aa1b56717495b816238961d03023a5.tar.gz
open-keychain-5895385153aa1b56717495b816238961d03023a5.tar.bz2
open-keychain-5895385153aa1b56717495b816238961d03023a5.zip
fix a couple of resource leaks (#1351)
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/ParcelableFileCache.java25
1 files changed, 14 insertions, 11 deletions
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<E extends Parcelable> {
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();
-
}
/**