aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-17 21:30:25 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-17 21:30:25 +0200
commitf5aa36ef9f092240f99cb64b83cc64b91544d638 (patch)
treec19311230153b006a34a45785f68ecbe5993a2f0 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations
parent5895385153aa1b56717495b816238961d03023a5 (diff)
downloadopen-keychain-f5aa36ef9f092240f99cb64b83cc64b91544d638.tar.gz
open-keychain-f5aa36ef9f092240f99cb64b83cc64b91544d638.tar.bz2
open-keychain-f5aa36ef9f092240f99cb64b83cc64b91544d638.zip
fix rest of resource leaks (#1351)
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportExportOperation.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportExportOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportExportOperation.java
index ffce2f39c..cdda42dae 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportExportOperation.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ImportExportOperation.java
@@ -411,13 +411,17 @@ public class ImportExportOperation extends BaseOperation {
try {
OutputStream outStream = new FileOutputStream(outputFile);
- ExportResult result = exportKeyRings(log, masterKeyIds, exportSecret, outStream);
- if (result.cancelled()) {
- //noinspection ResultOfMethodCallIgnored
- new File(outputFile).delete();
+ try {
+ ExportResult result = exportKeyRings(log, masterKeyIds, exportSecret, outStream);
+ if (result.cancelled()) {
+ //noinspection ResultOfMethodCallIgnored
+ new File(outputFile).delete();
+ }
+ return result;
+ } finally {
+ outStream.close();
}
- return result;
- } catch (FileNotFoundException e) {
+ } catch (IOException e) {
log.add(LogType.MSG_EXPORT_ERROR_FOPEN, 1);
return new ExportResult(ExportResult.RESULT_ERROR, log);
}