Browse Source

Check connection's error stream before reading from it

HttpURLConnection.getErrorStream can return null which is
currently not guarded against and will throw an NPE preventing
the actual error response code from bubbling up.

Change-Id: I04fb8dbda16b7df3b82fc579088a303b2fd21e87
stable-2.0
Kevin Sawicki 13 years ago
parent
commit
2c6187697c
  1. 6
      org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java

6
org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java

@ -512,10 +512,14 @@ public class AmazonS3 {
final HttpURLConnection c) throws IOException {
final IOException err = new IOException(MessageFormat.format(JGitText.get().amazonS3ActionFailed
, action, key, HttpSupport.response(c), c.getResponseMessage()));
final InputStream errorStream = c.getErrorStream();
if (errorStream == null)
return err;
final ByteArrayOutputStream b = new ByteArrayOutputStream();
byte[] buf = new byte[2048];
for (;;) {
final int n = c.getErrorStream().read(buf);
final int n = errorStream.read(buf);
if (n < 0)
break;
if (n > 0)

Loading…
Cancel
Save