diff --git a/netwerk/protocol/http/SpdySession3.cpp b/netwerk/protocol/http/SpdySession3.cpp index 7ce04d3d509c..70c0018a476a 100644 --- a/netwerk/protocol/http/SpdySession3.cpp +++ b/netwerk/protocol/http/SpdySession3.cpp @@ -1233,7 +1233,7 @@ SpdySession3::HandleGoAway(SpdySession3 *self) NS_ABORT_IF_FALSE(self->mFrameControlType == CONTROL_TYPE_GOAWAY, "wrong control type"); - if (self->mInputFrameDataSize != 4) { + if (self->mInputFrameDataSize != 8) { LOG3(("SpdySession3::HandleGoAway %p GOAWAY had wrong amount of data %d", self, self->mInputFrameDataSize)); return NS_ERROR_ILLEGAL_VALUE; @@ -1244,8 +1244,10 @@ SpdySession3::HandleGoAway(SpdySession3 *self) PR_ntohl(reinterpret_cast(self->mInputFrameBuffer.get())[2]); self->mCleanShutdown = true; - LOG3(("SpdySession3::HandleGoAway %p GOAWAY Last-Good-ID 0x%X.", - self, self->mGoAwayID)); + LOG3(("SpdySession3::HandleGoAway %p GOAWAY Last-Good-ID 0x%X status 0x%X\n", + self, self->mGoAwayID, + PR_ntohl(reinterpret_cast(self->mInputFrameBuffer.get())[3]))); + self->ResumeRecv(); self->ResetDownstreamState(); return NS_OK;