diff --git a/CHANGES b/CHANGES index f3b6a3c9c7..c28d3f6fae 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4554. [bug] Remove double unlock in dns_dispatchmgr_setudp. + [RT #44336] + 4553. [bug] Named could deadlock there were multiple changes to NSEC/NSEC3 parameters for a zone being processed at the same time. [RT #42770] diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 383b2a4287..4a7e2d478d 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -2077,10 +2077,9 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, } result = isc_mempool_create(mgr->mctx, sizeof(dispsocket_t), &mgr->spool); - if (result != ISC_R_SUCCESS) { - UNLOCK(&mgr->buffer_lock); + if (result != ISC_R_SUCCESS) goto cleanup; - } + isc_mempool_setname(mgr->spool, "dispmgr_spool"); isc_mempool_setmaxalloc(mgr->spool, maxrequests); isc_mempool_setfreemax(mgr->spool, maxrequests);