Browse Source

[findBugs] Ensure streams are closed in a finally block

Change-Id: I3137eba00d6eba96ca9051b6687fcf62e0871bcc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-3.3
Matthias Sohn 11 years ago
parent
commit
1bdfd3b3aa
  1. 16
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
  2. 10
      org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java

16
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java

@ -714,26 +714,27 @@ public class GC {
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 class GC {
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();
}
}

10
org.eclipse.jgit/src/org/eclipse/jgit/notes/DefaultNoteMerger.java

@ -82,8 +82,12 @@ public class DefaultNoteMerger implements NoteMerger {
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();
}
}
}

Loading…
Cancel
Save