From 245f7cec2ea9005a360478959e4a446c666eab75 Mon Sep 17 00:00:00 2001 From: Artem Boldariev Date: Tue, 10 May 2022 19:44:28 +0300 Subject: [PATCH] Avoid aborting when uv_timer_start() is used on a closing socket In such a case it will return UV_EINVAL (-EINVAL), leading to aborting, as the code expects the function to succeed. --- lib/isc/netmgr/netmgr.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/isc/netmgr/netmgr.c b/lib/isc/netmgr/netmgr.c index b6ae1ca319..ad9dc3d57f 100644 --- a/lib/isc/netmgr/netmgr.c +++ b/lib/isc/netmgr/netmgr.c @@ -2033,6 +2033,10 @@ void isc__nmsocket_timer_restart(isc_nmsocket_t *sock) { REQUIRE(VALID_NMSOCK(sock)); + if (uv_is_closing((uv_handle_t *)&sock->read_timer)) { + return; + } + if (atomic_load(&sock->connecting)) { int r;