etcp: закрыть UAF в клиентской ветке tcp_link_close_cb

etcp_on_link_down может каскадно закрыть conn и освободить link;
использовать сохранённый etcp и проверять state!=2 перед reconnect
This commit is contained in:
evgeny committed 2026-09-11 17:46:38 +03:00
1 parent be1f08b43e
commit d95048160d
1 file changed
+2 -2
+2 -2
View File
@@ -1168,8 +1168,8 @@ static void tcp_link_close_cb(struct stcp_link *sl, int err, void *arg) {
}
} else {
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[%s] TCP link %d down err=%d, scheduling reconnect", link->etcp->log_name, link->local_link_id, err);
etcp_on_link_down(link->etcp, link);
etcp_tcp_link_start_reconnect(link);
etcp_on_link_down(etcp, link);
if (etcp->state != 2) etcp_tcp_link_start_reconnect(link);
}
}