From: Alessio Podda Date: Wed, 3 Sep 2025 22:10:02 +0000 (+0200) Subject: fixup! fixup! fixup! Add slabheader foreach macro X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd52f380516745596ee7405bc4fc502bf7307256;p=thirdparty%2Fbind9.git fixup! fixup! fixup! Add slabheader foreach macro --- diff --git a/lib/dns/qpzone.c b/lib/dns/qpzone.c index a703adfede9..c6da3563be1 100644 --- a/lib/dns/qpzone.c +++ b/lib/dns/qpzone.c @@ -1706,17 +1706,18 @@ cname_and_other(qpznode_t *node, uint32_t serial) { rdtype = DNS_TYPEPAIR_TYPE(top->typepair); if (rdtype == dns_rdatatype_cname) { - do { - if (header->serial <= serial && !IGNORE(header)) + dns_slabheader_t *found = NULL; + SLABHEADER_FOREACH_SAFE(header, by_version, down) { + if (by_version->serial <= serial && !IGNORE(by_version)) { - if (!EXISTS(header)) { - header = NULL; + found = by_version; + if (!EXISTS(by_version)) { + found = NULL; } break; } - header = header->down; - } while (header != NULL); - if (header != NULL) { + } + if (found != NULL) { cname = true; } } else if (rdtype != dns_rdatatype_key && @@ -1724,17 +1725,18 @@ cname_and_other(qpznode_t *node, uint32_t serial) { rdtype != dns_rdatatype_nsec && rdtype != dns_rdatatype_rrsig) { - do { - if (header->serial <= serial && !IGNORE(header)) + dns_slabheader_t *found = NULL; + SLABHEADER_FOREACH_SAFE(header, by_version, down) { + if (by_version->serial <= serial && !IGNORE(by_version)) { - if (!EXISTS(header)) { - header = NULL; + found = by_version; + if (!EXISTS(by_version)) { + found = NULL; } break; } - header = header->down; - } while (header != NULL); - if (header != NULL) { + } + if (found != NULL) { if (!prio_type(rdtype)) { /* * CNAME is in the priority list, so if