diff --git a/CHANGES b/CHANGES index 90b2def77d..114f130831 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +6116. [bug] Fix error path cleanup issues in dns_catz_new_zones() + and dns_catz_new_zone() functions. [GL #3900] + 6105. [bug] Detach 'rpzs' and 'catzs' from the previous view in configure_rpz() and configure_catz(), respectively, just after attaching it to the new view. [GL #3880] diff --git a/lib/dns/catz.c b/lib/dns/catz.c index 1c0dfc1621..c5131d1489 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -779,7 +779,7 @@ cleanup_ht: isc_ht_destroy(&new_zones->zones); isc_refcount_destroy(&new_zones->refs); isc_mutex_destroy(&new_zones->lock); - isc_mem_put(mctx, new_zones, sizeof(*new_zones)); + isc_mem_putanddetach(&new_zones->mctx, new_zones, sizeof(*new_zones)); return (result); } @@ -842,6 +842,7 @@ dns_catz_new_zone(dns_catz_zones_t *catzs, dns_catz_zone_t **zonep, cleanup_ht: isc_ht_destroy(&new_zone->entries); + isc_ht_destroy(&new_zone->coos); dns_name_free(&new_zone->name, catzs->mctx); isc_mem_put(catzs->mctx, new_zone, sizeof(*new_zone));