diff --git a/lib/dns/rpz.c b/lib/dns/rpz.c index 0d61fdf364..5fea09877d 100644 --- a/lib/dns/rpz.c +++ b/lib/dns/rpz.c @@ -2370,7 +2370,8 @@ del_name(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type, result = dns_qp_getname(qp, trig_name, (void **)&data, NULL); if (result != ISC_R_SUCCESS) { - return; + INSIST(data == NULL); + goto done; } INSIST(data != NULL); @@ -2412,6 +2413,7 @@ del_name(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type, RWUNLOCK(&rpz->rpzs->search_lock, isc_rwlocktype_write); } +done: dns_qp_compact(qp, DNS_QPGC_MAYBE); dns_qpmulti_commit(rpzs->table, &qp); }