aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Arnold <mat@FreeBSD.org>2021-12-15 15:58:37 +0000
committerMathieu Arnold <mat@FreeBSD.org>2021-12-15 16:02:39 +0000
commitea81d41cfbfebbe814c1dd0cd5650e7dee5b0c1b (patch)
tree4e0450d97681183e7bc44272e6e57e58b9cab86a
parentf1581521a0912b3ee1b4c8b388ce58e155db511e (diff)
downloadports-ea81d41cfbfebbe814c1dd0cd5650e7dee5b0c1b.tar.gz
ports-ea81d41cfbfebbe814c1dd0cd5650e7dee5b0c1b.zip
dns/bind916: fix runnaway memory leak
Obtained from: https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/5626 (cherry picked from commit 925b730fbf94cffa1215f3a30bee4c27f0ae36c7)
-rw-r--r--dns/bind916/Makefile2
-rw-r--r--dns/bind916/files/patch-mr-562621
2 files changed, 22 insertions, 1 deletions
diff --git a/dns/bind916/Makefile b/dns/bind916/Makefile
index e3c09b5b9b4e..0c1dcee790c2 100644
--- a/dns/bind916/Makefile
+++ b/dns/bind916/Makefile
@@ -7,7 +7,7 @@ PORTVERSION= ${ISCVERSION:S/-P/P/:S/b/.b/:S/a/.a/:S/rc/.rc/}
PORTREVISION= 0
.else
# dns/bind916 here
-PORTREVISION= 0
+PORTREVISION= 1
.endif
CATEGORIES= dns net
MASTER_SITES= ISC/bind9/${ISCVERSION}
diff --git a/dns/bind916/files/patch-mr-5626 b/dns/bind916/files/patch-mr-5626
new file mode 100644
index 000000000000..6cb9becc16e0
--- /dev/null
+++ b/dns/bind916/files/patch-mr-5626
@@ -0,0 +1,21 @@
+--- lib/isc/netmgr/netmgr.c.orig 2021-12-07 12:24:49 UTC
++++ lib/isc/netmgr/netmgr.c
+@@ -425,6 +425,7 @@ nm_destroy(isc_nm_t **mgr0) {
+ isc_mempool_put(mgr->evpool, ievent);
+ }
+ isc_condition_destroy(&worker->cond_prio);
++ isc_mutex_destroy(&worker->lock);
+
+ r = uv_loop_close(&worker->loop);
+ INSIST(r == 0);
+@@ -1267,8 +1268,9 @@ nmsocket_cleanup(isc_nmsocket_t *sock, bool dofree FLA
+
+ isc_mem_free(sock->mgr->mctx, sock->ah_frees);
+ isc_mem_free(sock->mgr->mctx, sock->ah_handles);
+- isc_mutex_destroy(&sock->lock);
+ isc_condition_destroy(&sock->scond);
++ isc_condition_destroy(&sock->cond);
++ isc_mutex_destroy(&sock->lock);
+ #ifdef NETMGR_TRACE
+ LOCK(&sock->mgr->lock);
+ ISC_LIST_UNLINK(sock->mgr->active_sockets, sock, active_link);