Stop using "delete connection()" in QuicSession classes and use DeleteConnection() instead, which prevents double deletion and sets connection_ to nullptr.
gfe-relnote: n/a (Set deleted pointer to nullptr)
PiperOrigin-RevId: 284764494
Change-Id: I6d7f36768e14f06b9cd8267ac74d22d189463579
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index c0f5992..2b50ebc 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1615,6 +1615,13 @@
return v99_streamid_manager_.GetLargestPeerCreatedStreamId(unidirectional);
}
+void QuicSession::DeleteConnection() {
+ if (connection_) {
+ delete connection_;
+ connection_ = nullptr;
+ }
+}
+
bool QuicSession::IsClosedStream(QuicStreamId id) {
DCHECK_NE(QuicUtils::GetInvalidStreamId(transport_version()), id);
if (IsOpenStream(id)) {