lock_rw_unlock(&v->lock);
return 0;
}
+ /* local_zones, local_zones_nodefault and local_data
+ * are free'd from config_view by local_zones_apply_cfg.
+ * Set pointers to NULL. */
+ cv->local_zones = NULL;
+ cv->local_data = NULL;
+ cv->local_zones_nodefault = NULL;
}
lock_rw_unlock(&v->lock);
}
cfg->out_ifs = NULL;
cfg->stubs = NULL;
cfg->forwards = NULL;
+ cfg->views = NULL;
cfg->acls = NULL;
cfg->harden_short_bufsize = 0;
cfg->harden_large_queries = 0;
if(!p) return;
free(p->name);
config_deldblstrlist(p->local_zones);
+ config_delstrlist(p->local_zones_nodefault);
+ config_delstrlist(p->local_data);
free(p);
}
config_del_strarray(cfg->out_ifs, cfg->num_out_ifs);
config_delstubs(cfg->stubs);
config_delstubs(cfg->forwards);
+ config_delviews(cfg->views);
config_delstrlist(cfg->donotqueryaddrs);
config_delstrlist(cfg->root_hints);
free(cfg->identity);