From 36c0a8048a37c0567f98d86c0059c877f5891a87 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Wed, 20 Feb 2013 15:05:21 +0000 Subject: [PATCH] Fix NPE in SpdyTransport#makeReusable --- .../squareup/okhttp/internal/http/SpdyTransport.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/squareup/okhttp/internal/http/SpdyTransport.java b/src/main/java/com/squareup/okhttp/internal/http/SpdyTransport.java index 193beb68c..18ab5668e 100644 --- a/src/main/java/com/squareup/okhttp/internal/http/SpdyTransport.java +++ b/src/main/java/com/squareup/okhttp/internal/http/SpdyTransport.java @@ -81,7 +81,15 @@ public final class SpdyTransport implements Transport { @Override public boolean makeReusable(boolean streamCancelled, OutputStream requestBodyOut, InputStream responseBodyIn) { if (streamCancelled) { - stream.closeLater(SpdyStream.RST_CANCEL); + if (stream != null) { + stream.closeLater(SpdyStream.RST_CANCEL); + return true; + } else { + // If stream is null, it either means that writeRequestHeaders wasn't called + // or that SpdyConnection#newStream threw an IOEXception. In both cases there's + // nothing to do here and this stream can't be reused. + return false; + } } return true; }