Stop processing data in QuicSpdyStream::OnDataAvailable() if connection is closed.
If the connection is closed, for example, QuicSpdyStream itself closes it
because a frame of invalid type is received, or because a QPACK error occurs,
then no more data should be fed into HttpDecoder.
gfe-relnote: n/a, change to QUIC v99-only class.
PiperOrigin-RevId: 258752154
Change-Id: Ibb60b00662160582a075e1a5353bab74e95490d5
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc
index b55e928..11cc233 100644
--- a/quic/core/http/quic_spdy_stream.cc
+++ b/quic/core/http/quic_spdy_stream.cc
@@ -661,7 +661,8 @@
}
iovec iov;
- while (!reading_stopped() && decoder_.error() == QUIC_NO_ERROR) {
+ while (session()->connection()->connected() && !reading_stopped() &&
+ decoder_.error() == QUIC_NO_ERROR) {
DCHECK_GE(sequencer_offset_, sequencer()->NumBytesConsumed());
if (!sequencer()->PeekRegion(sequencer_offset_, &iov)) {
break;