]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Clean up frdataset in resume_dslookup() on shutdown
authorOndřej Surý <ondrej@isc.org>
Sat, 14 Mar 2026 07:20:05 +0000 (08:20 +0100)
committerColin Vidal <colin@isc.org>
Mon, 30 Mar 2026 18:41:13 +0000 (20:41 +0200)
When resume_dslookup() receives ISC_R_SHUTTINGDOWN or ISC_R_CANCELED,
frdataset (fctx->nsrrset) was not disassociated.  While fctx__destroy()
eventually cleans it up, leaving it associated keeps the underlying DB
node referenced longer than necessary.

lib/dns/resolver.c

index ab4344d74aaae3819dfa0b67749f7f642bb3becd..11a57ca681b53cc45e302d0eed99c71c7f23d131 100644 (file)
@@ -7095,6 +7095,7 @@ resume_dslookup(void *arg) {
 
        case ISC_R_SHUTTINGDOWN:
        case ISC_R_CANCELED:
+               dns_rdataset_cleanup(frdataset);
                goto cleanup;
 
        default: