mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-25 19:02:12 -04:00
Disassociate added rdataset on error in cache_rrset()
When first dns_db_addrdataset() succeeds in cache_rrset(), but the second one fails with error, the added rdataset was kept associated. This caused assertion failure down the pipe in fctx_sendevents().
This commit is contained in:
parent
6d8c0b2a8d
commit
7f9647d16e
1 changed files with 3 additions and 0 deletions
|
|
@ -5286,6 +5286,9 @@ cache_rrset(fetchctx_t *fctx, isc_stdtime_t now, dns_name_t *name,
|
|||
if (result == ISC_R_SUCCESS && sigrdataset != NULL) {
|
||||
result = dns_db_addrdataset(fctx->cache, node, NULL, now,
|
||||
sigrdataset, options, addedsig);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED) {
|
||||
dns__rdataset_disassociate(added);
|
||||
}
|
||||
}
|
||||
|
||||
if (result == DNS_R_UNCHANGED) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue