Early return in QuicSpdyClientSessionBase after connection is closed.
gfe-relnote: v99 only, not protected.
PiperOrigin-RevId: 263170559
Change-Id: I5d345101b58c8ef877708b02b2155740ff01762c
diff --git a/quic/core/http/quic_spdy_client_session_base.cc b/quic/core/http/quic_spdy_client_session_base.cc
index fecda92..d5cdb28 100644
--- a/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quic/core/http/quic_spdy_client_session_base.cc
@@ -96,6 +96,7 @@
QUIC_INVALID_STREAM_ID,
"Received push stream id higher than MAX_PUSH_ID.",
ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
+ return;
}
largest_promised_stream_id_ = promised_stream_id;
diff --git a/quic/core/http/quic_spdy_client_session_test.cc b/quic/core/http/quic_spdy_client_session_test.cc
index 6819e9a..e79170b 100644
--- a/quic/core/http/quic_spdy_client_session_test.cc
+++ b/quic/core/http/quic_spdy_client_session_test.cc
@@ -594,6 +594,9 @@
// Initialize crypto before the client session will create a stream.
CompleteCryptoHandshake();
+ session_->set_max_allowed_push_id(GetNthServerInitiatedUnidirectionalStreamId(
+ connection_->transport_version(), 10));
+
MockQuicSpdyClientStream* stream = static_cast<MockQuicSpdyClientStream*>(
session_->CreateOutgoingBidirectionalStream());
@@ -653,6 +656,9 @@
// Initialize crypto before the client session will create a stream.
CompleteCryptoHandshake();
+ session_->set_max_allowed_push_id(GetNthServerInitiatedUnidirectionalStreamId(
+ connection_->transport_version(), 10));
+
MockQuicSpdyClientStream* stream = static_cast<MockQuicSpdyClientStream*>(
session_->CreateOutgoingBidirectionalStream());