]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't copy EDE codes if source is same as destination
authorOndřej Surý <ondrej@isc.org>
Wed, 2 Apr 2025 16:06:52 +0000 (18:06 +0200)
committerOndřej Surý <ondrej@isc.org>
Wed, 2 Apr 2025 16:42:23 +0000 (16:42 +0000)
If the nested DNS validator ends up in the same fetch because of the
loops, the code could be copying the EDE codes from the same source EDE
context as the destination EDE context.  Skip copying the EDE codes if
the source and the destination is the same.

(cherry picked from commit 2988ebae214846d6f8efa41d058aa34f7285a7dc)

lib/dns/ede.c

index 4b6e7faad7d14037e3c11811e761808c26f5ea8c..22e90bb888159d9d615e6a91fb15772f7d017e2d 100644 (file)
@@ -137,6 +137,10 @@ dns_ede_copy(dns_edectx_t *edectx_to, const dns_edectx_t *edectx_from) {
        REQUIRE(DNS_EDE_VALID(edectx_to));
        REQUIRE(DNS_EDE_VALID(edectx_from));
 
+       if (edectx_to == edectx_from) {
+               return;
+       }
+
        for (size_t pos = 0; pos < DNS_EDE_MAX_ERRORS; pos++) {
                uint16_t fromcode;