/* The xfr item needs to be created. The auth zones lock
* is held to make this possible. */
xfr = auth_xfer_create(worker->env.auth_zones, item->new_z);
+ if(!xfr) {
+ log_err("out of memory in fr_worker_auth_add");
+ lock_rw_unlock(&item->new_z->lock);
+ lock_rw_unlock(&worker->env.auth_zones->lock);
+ lock_rw_unlock(&worker->daemon->fast_reload_thread->old_auth_zones->lock);
+ if(loadxfr) {
+ lock_basic_unlock(&loadxfr->lock);
+ }
+ return;
+ }
auth_xfr_pickup_config(loadxfr, xfr);
/* Serial information is copied into the xfr struct. */
if(!xfr_find_soa(item->new_z, xfr)) {
} else if(loadxfr && !xfr) {
/* Create the xfr. */
xfr = auth_xfer_create(worker->env.auth_zones, item->new_z);
+ if(!xfr) {
+ log_err("out of memory in fr_worker_auth_cha");
+ lock_rw_unlock(&item->new_z->lock);
+ lock_rw_unlock(&item->old_z->lock);
+ lock_rw_unlock(&worker->daemon->fast_reload_thread->old_auth_zones->lock);
+ lock_rw_unlock(&worker->env.auth_zones->lock);
+ if(loadxfr) {
+ lock_basic_unlock(&loadxfr->lock);
+ }
+ return;
+ }
auth_xfr_pickup_config(loadxfr, xfr);
item->new_z->zone_is_slave = 1;
}
- Fix that malloc failure during edns subnet addrtree
insert is checked, so it does not crash later. Thanks to
Qifan Zhang, Palo Alto Networks, for the report.
+ - Fix to check the return value of auth_xfer_create
+ during fast_reload auth-zone add and change processing.
+ Thanks to Qifan Zhang, Palo Alto Networks, for the report.
16 June 2026: Wouter
- Fix to disallow $INCLUDE for secondary zones. Start up