]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add invariant check for delegset in rctx_nextserver()
authorOndřej Surý <ondrej@isc.org>
Sat, 14 Mar 2026 09:10:34 +0000 (10:10 +0100)
committerColin Vidal <colin@isc.org>
Mon, 30 Mar 2026 18:41:13 +0000 (20:41 +0200)
The get_nameservers path in rctx_nextserver() is only reachable from
rctx_referral(), which already detaches fctx->delegset.  Assert that
it is NULL rather than redundantly detaching it, since
dns_view_bestzonecut() requires *delegsetp == NULL.

lib/dns/resolver.c

index 11a57ca681b53cc45e302d0eed99c71c7f23d131..25ba14bd736e0b4494056d00a7360a8a0ef2a1ed 100644 (file)
@@ -9379,6 +9379,7 @@ rctx_nextserver(respctx_t *rctx, dns_message_t *message,
                } else {
                        name = fctx->domain;
                }
+               INSIST(fctx->delegset == NULL);
                result = dns_view_bestzonecut(fctx->res->view, name, fname,
                                              dcname, fctx->now, findoptions,
                                              true, true, &fctx->delegset);