From b5bda24ebeb0572a3dd8e409ff97e0aefcd95916 Mon Sep 17 00:00:00 2001 From: klzgrad Date: Thu, 7 May 2026 19:25:57 +0800 Subject: [PATCH] Fix invalid state when disconnecting idle socket during connect --- src/net/tools/naive/naive_connection.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net/tools/naive/naive_connection.cc b/src/net/tools/naive/naive_connection.cc index 94fd99220c..8583ddf683 100644 --- a/src/net/tools/naive/naive_connection.cc +++ b/src/net/tools/naive/naive_connection.cc @@ -134,7 +134,10 @@ void NaiveConnection::DoCallback(int result) { } void NaiveConnection::OnIOComplete(int result) { - DCHECK_NE(next_state_, STATE_NONE); + if (next_state_ == STATE_NONE) { + // Disconnect() was called during client or server socket Connect(). + return; + } int rv = DoLoop(result); if (rv != ERR_IO_PENDING) { DoCallback(rv);