Index: net/quic/quic_stream_factory.cc |
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc |
index a71787530d7460f974208b8441f45f6e98a2c740..9f103b7735a471c8a6515df1319ba9a6a894c3e6 100644 |
--- a/net/quic/quic_stream_factory.cc |
+++ b/net/quic/quic_stream_factory.cc |
@@ -837,13 +837,18 @@ void QuicStreamFactory::ProcessGoingAwaySession( |
if (!session_was_active) |
return; |
+ const HostPortPair& server = server_id.host_port_pair(); |
+ // Don't try to change the alternate-protocol state, if the |
+ // alternate-protocol state is unknown. |
+ if (!http_server_properties_->HasAlternateProtocol(server)) |
+ return; |
+ |
// TODO(rch): In the special case where the session has received no |
// packets from the peer, we should consider blacklisting this |
// differently so that we still race TCP but we don't consider the |
// session connected until the handshake has been confirmed. |
HistogramBrokenAlternateProtocolLocation( |
BROKEN_ALTERNATE_PROTOCOL_LOCATION_QUIC_STREAM_FACTORY); |
- const HostPortPair& server = server_id.host_port_pair(); |
PortAlternateProtocolPair alternate = |
http_server_properties_->GetAlternateProtocol(server); |
DCHECK_EQ(QUIC, alternate.protocol); |