From: Ondřej Surý Date: Tue, 20 Oct 2020 18:57:19 +0000 (+0200) Subject: Explicitly stop reading before closing the nmtcpsocket X-Git-Tag: v9.17.7~46^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97b33e5bde296feb82c1d8bb703e56c1b224e129;p=thirdparty%2Fbind9.git Explicitly stop reading before closing the nmtcpsocket When closing the socket that is actively reading from the stream, the read_cb() could be called between uv_close() and close callback when the server socket has been already detached hence using sock->statichandle after it has been already freed. --- diff --git a/lib/isc/netmgr/tcp.c b/lib/isc/netmgr/tcp.c index 6c9bcb47d17..b935b94dbdd 100644 --- a/lib/isc/netmgr/tcp.c +++ b/lib/isc/netmgr/tcp.c @@ -1115,6 +1115,9 @@ tcp_close_direct(isc_nmsocket_t *sock) { if (sock->quota != NULL) { isc_quota_detach(&sock->quota); } + + uv_read_stop((uv_stream_t *)&sock->uv_handle.handle); + if (sock->timer_initialized) { sock->timer_initialized = false; uv_timer_stop(&sock->timer);