Index: net/spdy/spdy_stream.cc |
=================================================================== |
--- net/spdy/spdy_stream.cc (revision 149736) |
+++ net/spdy/spdy_stream.cc (working copy) |
@@ -176,7 +176,11 @@ |
// We don't have complete headers. Assume we're waiting for another |
// HEADERS frame. Since we don't have headers, we had better not have |
// any pending data frames. |
- DCHECK_EQ(0U, pending_buffers_.size()); |
+ if (pending_buffers_.size() != 0U) { |
+ LogStreamError(ERR_SPDY_PROTOCOL_ERROR, |
+ "HEADERS incomplete headers, but pending data frames."); |
+ session_->CloseStream(stream_id_, ERR_SPDY_PROTOCOL_ERROR); |
+ } |
return; |
} |
@@ -490,7 +494,13 @@ |
return; |
} |
- delegate_->OnDataReceived(data, length); |
+ if (delegate_->OnDataReceived(data, length) != net::OK) { |
+ // We haven't received all the required headers. |
Ryan Hamilton
2012/08/03 19:52:14
This comment assumes something about the implement
ramant (doing other things)
2012/08/03 20:50:40
Done.
|
+ LogStreamError(ERR_SPDY_PROTOCOL_ERROR, |
+ "Data is received but incomplete headers."); |
Ryan Hamilton
2012/08/03 19:52:14
Same point as above for the error description.
ramant (doing other things)
2012/08/03 20:50:40
Done.
|
+ session_->CloseStream(stream_id_, ERR_SPDY_PROTOCOL_ERROR); |
+ return; |
+ } |
} |
// This function is only called when an entire frame is written. |