aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Loskutov <loskutov@gmx.de>2017-04-05 09:10:10 +0200
committerAndrey Loskutov <loskutov@gmx.de>2017-04-05 09:51:12 +0200
commit7476baebfc457e75c984de61dc8ae08a359b52e8 (patch)
treef1e90b33f5cfbfbe8ecad73c4a96930a3234f7f4
parentdb2493e7d8198021c789c9f96ca7a8c0c01c8488 (diff)
downloadjgit-7476baebfc457e75c984de61dc8ae08a359b52e8.tar.gz
jgit-7476baebfc457e75c984de61dc8ae08a359b52e8.zip
Fixed NP dereference error reported by ecj in UploadPack.stopBuffering()
Introduced via commit 3b2508b51467c3cb0541c004488eaabae2842f9e. Change-Id: I2b6175c095aea2868a8c302103095accde5170e3 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java10
1 files changed, 3 insertions, 7 deletions
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 6b16f550d9..ddb2fbf012 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.List;
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 @@ public class UploadPack {
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 @@ public class UploadPack {
}
void stopBuffering() throws IOException {
- if (buffer != null) {
- buffer.writeTo(rawOut);
- buffer = null;
+ if (out != rawOut) {
+ ((ByteArrayOutputStream) out).writeTo(rawOut);
out = rawOut;
}
}