[findBugs] Ensure streams are closed in a finally block
Change-Id: I3137eba00d6eba96ca9051b6687fcf62e0871bcc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
index e06ff65..6c19b7b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
@@ -714,26 +714,27 @@ public int compare(PackExt o1, PackExt o2) {
JGitText.get().cannotCreateIndexfile, tmpIdx.getPath()));
// write the packfile
- @SuppressWarnings("resource" /* java 7 */)
- FileChannel channel = new FileOutputStream(tmpPack).getChannel();
+ FileOutputStream fos = new FileOutputStream(tmpPack);
+ FileChannel channel = fos.getChannel();
OutputStream channelStream = Channels.newOutputStream(channel);
try {
pw.writePack(pm, pm, channelStream);
} finally {
channel.force(true);
channelStream.close();
- channel.close();
+ fos.close();
}
// write the packindex
- FileChannel idxChannel = new FileOutputStream(tmpIdx).getChannel();
+ fos = new FileOutputStream(tmpIdx);
+ FileChannel idxChannel = fos.getChannel();
OutputStream idxStream = Channels.newOutputStream(idxChannel);
try {
pw.writeIndex(idxStream);
} finally {
idxChannel.force(true);
idxStream.close();
- idxChannel.close();
+ fos.close();
}
if (pw.prepareBitmapIndex(pm)) {
@@ -745,14 +746,15 @@ public int compare(PackExt o1, PackExt o2) {
JGitText.get().cannotCreateIndexfile,
tmpBitmapIdx.getPath()));
- idxChannel = new FileOutputStream(tmpBitmapIdx).getChannel();
+ fos = new FileOutputStream(tmpBitmapIdx);
+ idxChannel = fos.getChannel();
idxStream = Channels.newOutputStream(idxChannel);
try {
pw.writeBitmapIndex(idxStream);
} finally {
idxChannel.force(true);
idxStream.close();
- idxChannel.close();
+ fos.close();
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
index 9624e49..db49448 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java
@@ -82,8 +82,12 @@ public Note merge(Note base, Note ours, Note theirs, ObjectReader reader,
ObjectLoader lt = reader.open(theirs.getData());
UnionInputStream union = new UnionInputStream(lo.openStream(),
lt.openStream());
- ObjectId noteData = inserter.insert(Constants.OBJ_BLOB,
- lo.getSize() + lt.getSize(), union);
- return new Note(ours, noteData);
+ try {
+ ObjectId noteData = inserter.insert(Constants.OBJ_BLOB,
+ lo.getSize() + lt.getSize(), union);
+ return new Note(ours, noteData);
+ } finally {
+ union.close();
+ }
}
}