summaryrefslogtreecommitdiff
path: root/xmerge
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-03-04 10:20:02 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-03-04 11:24:27 +0000
commit0b9ceae7da92709637c4ee65b62901b346209d16 (patch)
treeca4f9187d193009eca73367312553d95e31e9b61 /xmerge
parent1e83fab9b47dc34129035ca1660a27c6a00b15d9 (diff)
coverity#1326474 Resource leak on an exceptional path
Change-Id: I13047e59fc10ab169072f84c75ba88c569d16bd6
Diffstat (limited to 'xmerge')
-rw-r--r--xmerge/source/bridge/java/XMergeBridge.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/xmerge/source/bridge/java/XMergeBridge.java b/xmerge/source/bridge/java/XMergeBridge.java
index bbe3e2a05e56..0f0448343735 100644
--- a/xmerge/source/bridge/java/XMergeBridge.java
+++ b/xmerge/source/bridge/java/XMergeBridge.java
@@ -364,6 +364,11 @@ public class XMergeBridge {
}
+ private static void close(FileOutputStream c) throws IOException {
+ if (c == null) return;
+ c.close();
+ }
+
private void convert (com.sun.star.io.XInputStream xml,com.sun.star.io.XOutputStream device,
boolean convertFromOffice,String pluginUrl,String FileName,String offMime,String sdMime) throws com.sun.star.uno.RuntimeException, IOException {
@@ -436,11 +441,15 @@ public class XMergeBridge {
newFile =new File(newFileName.concat(String.valueOf(i)));
}
- FileOutputStream fos = new FileOutputStream(newFile);
- docOut = (Document)docEnum.next();
- docOut.write(fos);
- fos.flush();
- fos.close();
+ FileOutputStream fos = null;
+ try {
+ fos = new FileOutputStream(newFile);
+ docOut = (Document)docEnum.next();
+ docOut.write(fos);
+ fos.flush();
+ } finally {
+ close(fos);
+ }
i++;
}