ns_client_t *client;
isc_result_t result;
dns_message_t *answer;
+ dns_ssutable_t *ssutable;
unsigned int *maxbytype;
size_t maxbytypelen;
};
*uev = (update_t){
.zone = zone,
.client = client,
- .maxbytype = maxbytype,
+ .ssutable = TAKE_OWNERSHIP(ssutable),
+ .maxbytype = TAKE_OWNERSHIP(maxbytype),
.maxbytypelen = maxbytypelen,
.result = ISC_R_SUCCESS,
};
isc_nmhandle_attach(client->inner.handle, &client->inner.updatehandle);
isc_async_run(dns_zone_getloop(zone), update_action, uev);
- maxbytype = NULL;
cleanup:
if (db != NULL) {
update_t *uev = (update_t *)arg;
dns_zone_t *zone = uev->zone;
ns_client_t *client = uev->client;
+ dns_ssutable_t *ssutable = uev->ssutable;
unsigned int *maxbytype = uev->maxbytype;
size_t update = 0, maxbytypelen = uev->maxbytypelen;
isc_result_t result;
dns_message_t *request = client->message;
dns_rdataclass_t zoneclass;
dns_name_t *zonename = NULL;
- dns_ssutable_t *ssutable = NULL;
dns_fixedname_t tmpnamefixed;
dns_name_t *tmpname = NULL;
dns_zoneopt_t options;
CHECK(dns_zone_getdb(zone, &db));
zonename = dns_db_origin(db);
zoneclass = dns_db_class(db);
- dns_zone_getssutable(zone, &ssutable);
options = dns_zone_getoptions(zone);
is_inline = (!dns_zone_israw(zone) && dns_zone_issecure(zone));