diff --git a/CHANGES b/CHANGES index 7a0dc97785..ce8ebbcaff 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3416. [bug] Named could die on shutdown if running with 128 UDP + dispatches per interface. [RT #31743] + 3415. [bug] named could die with a REQUIRE failure if a valdation was canceled. [RT #31804] diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c index d632ae92e7..f8f8c4dd9e 100644 --- a/bin/named/interfacemgr.c +++ b/bin/named/interfacemgr.c @@ -426,7 +426,7 @@ ns_interface_destroy(ns_interface_t *ifp) { ns_interface_shutdown(ifp); - for (disp = ifp->nudpdispatch; disp >= 0; disp--) + for (disp = 0; disp < ifp->nudpdispatch; disp++) if (ifp->udpdispatch[disp] != NULL) { dns_dispatch_changeattributes(ifp->udpdispatch[disp], 0, DNS_DISPATCHATTR_NOLISTEN); diff --git a/bin/tests/system/resolver/ns7/named.args b/bin/tests/system/resolver/ns7/named.args index e4eeccb54c..62217db511 100644 --- a/bin/tests/system/resolver/ns7/named.args +++ b/bin/tests/system/resolver/ns7/named.args @@ -1,2 +1,3 @@ # this server runs named with the "-T clienttest" option omitted --m record,size,mctx -c named.conf -d 99 -g +# this server runs named with "-n 128 -U 128" as a regression test for RT31743 +-m record,size,mctx -c named.conf -d 99 -g -n 128 -U 128