]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
simplify iterator_active()
authorEvan Hunt <each@isc.org>
Sun, 17 Aug 2025 20:53:04 +0000 (13:53 -0700)
committerOndřej Surý <ondrej@isc.org>
Mon, 18 Aug 2025 10:36:47 +0000 (12:36 +0200)
the if statements calling iterator_active() checked the EXISTS
flag on the header and then iterator_active() checked it again.
simplify so only the caller checks it.

lib/dns/qpcache.c

index 5d31550258178f1bc7f3415dccc40bb63269fb9c..761310512393bc54ace909caea87120b6a36bb66 100644 (file)
@@ -3316,13 +3316,6 @@ iterator_active(qpcache_t *qpdb, qpc_rditer_t *iterator,
                dns_slabheader_t *header) {
        dns_ttl_t stale_ttl = header->expire + STALE_TTL(header, qpdb);
 
-       /*
-        * Is this a "this rdataset doesn't exist" record?
-        */
-       if (!EXISTS(header)) {
-               return false;
-       }
-
        /*
         * If this header is still active then return it.
         */
@@ -3352,8 +3345,9 @@ rdatasetiter_first(dns_rdatasetiter_t *it DNS__DB_FLARG) {
        NODE_RDLOCK(nlock, &nlocktype);
 
        for (top = qpnode->data; top != NULL; top = top->next) {
-               if ((EXPIREDOK(iterator) && EXISTS(top->header)) ||
-                   iterator_active(qpdb, iterator, top->header))
+               if (EXISTS(top->header) &&
+                   (EXPIREDOK(iterator) ||
+                    iterator_active(qpdb, iterator, top->header)))
                {
                        break;
                }
@@ -3387,8 +3381,9 @@ rdatasetiter_next(dns_rdatasetiter_t *it DNS__DB_FLARG) {
        NODE_RDLOCK(nlock, &nlocktype);
 
        for (top = top->next; top != NULL; top = top->next) {
-               if ((EXPIREDOK(iterator) && EXISTS(top->header)) ||
-                   iterator_active(qpdb, iterator, top->header))
+               if (EXISTS(top->header) &&
+                   (EXPIREDOK(iterator) ||
+                    iterator_active(qpdb, iterator, top->header)))
                {
                        break;
                }