diff --git a/CHANGES b/CHANGES index f42ea42dac..d33339ec2d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +6148. [bug] Fix a use-after-free bug in dns_xfrin_create(). + [GL !7832] + 6147. [performance] Fix the TCP server parent quota use. [GL #3985] 6146. [performance] Replace the zone table red-black tree and associated diff --git a/lib/dns/xfrin.c b/lib/dns/xfrin.c index 99190cc385..063423b665 100644 --- a/lib/dns/xfrin.c +++ b/lib/dns/xfrin.c @@ -723,6 +723,7 @@ dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, if (result != ISC_R_SUCCESS) { atomic_store(&xfr->shuttingdown, true); xfr->shutdown_result = result; + xfrin_log(xfr, ISC_LOG_ERROR, "zone transfer setup failed"); dns_xfrin_detach(xfrp); } @@ -730,10 +731,6 @@ dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype, dns_db_detach(&db); } - if (result != ISC_R_SUCCESS) { - xfrin_log(xfr, ISC_LOG_ERROR, "zone transfer setup failed"); - } - return (result); }