Merge "Fixed NP dereference error reported by ecj in UploadPack.stopBuffering()"
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java
index 6b16f55..ddb2fbf 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java
@@ -72,7 +72,6 @@
import java.util.Map;
import java.util.Set;
-import org.eclipse.jgit.annotations.Nullable;
import org.eclipse.jgit.errors.CorruptObjectException;
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
import org.eclipse.jgit.errors.MissingObjectException;
@@ -1588,12 +1587,10 @@
private final OutputStream rawOut;
private OutputStream out;
- @Nullable
- private ByteArrayOutputStream buffer;
ResponseBufferedOutputStream(OutputStream rawOut) {
this.rawOut = rawOut;
- this.out = this.buffer = new ByteArrayOutputStream();
+ this.out = new ByteArrayOutputStream();
}
@Override
@@ -1622,9 +1619,8 @@
}
void stopBuffering() throws IOException {
- if (buffer != null) {
- buffer.writeTo(rawOut);
- buffer = null;
+ if (out != rawOut) {
+ ((ByteArrayOutputStream) out).writeTo(rawOut);
out = rawOut;
}
}