In QuicSession, check if the visitor_ is not nullptr before calling it.
According to the QuicSession API contract, the session visitor may be nullptr; while we typically only use this for the clients, in some unit tests, this also applies to the server.
PiperOrigin-RevId: 399184256
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index e35e1a3..309f92f 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -2073,13 +2073,17 @@
void QuicSession::OnServerConnectionIdIssued(
const QuicConnectionId& server_connection_id) {
- visitor_->OnNewConnectionIdSent(connection_->GetOneActiveServerConnectionId(),
- server_connection_id);
+ if (visitor_) {
+ visitor_->OnNewConnectionIdSent(
+ connection_->GetOneActiveServerConnectionId(), server_connection_id);
+ }
}
void QuicSession::OnServerConnectionIdRetired(
const QuicConnectionId& server_connection_id) {
- visitor_->OnConnectionIdRetired(server_connection_id);
+ if (visitor_) {
+ visitor_->OnConnectionIdRetired(server_connection_id);
+ }
}
bool QuicSession::IsConnectionFlowControlBlocked() const {