From 884f36c2d4e89120a95e3924d83fc5bc703cacd9 Mon Sep 17 00:00:00 2001 From: evgeny Date: Mon, 14 Sep 2026 11:34:36 +0300 Subject: [PATCH] =?UTF-8?q?ncd:=20cancel=20connect/fin=5Fwait=20=D1=82?= =?UTF-8?q?=D0=B0=D0=B9=D0=BC=D0=B5=D1=80=D1=8B=20=D0=B2=20ncd=5Fdeferred?= =?UTF-8?q?=5Fclose=20(UAF=20fin=5Fwait=5Ftimeout=5Fcb)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/transport_layer/node_conn_direct.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/transport_layer/node_conn_direct.c b/src/transport_layer/node_conn_direct.c index bf377813..aa0a8a99 100644 --- a/src/transport_layer/node_conn_direct.c +++ b/src/transport_layer/node_conn_direct.c @@ -315,6 +315,8 @@ static void ncd_up_cb(struct ETCP_CONN* conn, int event, void* arg) { (void)even static void ncd_deferred_close(void* arg) { struct ncd_entry* entry = (struct ncd_entry*)arg; struct ETCP_CONN* conn = entry->conn; + if (entry->connect_timer) { uasync_cancel_timeout(entry->ua, entry->connect_timer); entry->connect_timer = NULL; } + if (entry->fin_wait_timer) { uasync_cancel_timeout(entry->ua, entry->fin_wait_timer); entry->fin_wait_timer = NULL; } if (conn) { etcp_conn_remove_cbk(conn, ncd_init_cb, entry); etcp_conn_remove_cbk(conn, ncd_up_cb, entry);