]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use an accessor fuction to access find->status
authorMark Andrews <marka@isc.org>
Wed, 28 Aug 2024 01:37:05 +0000 (11:37 +1000)
committerMark Andrews <marka@isc.org>
Wed, 28 Aug 2024 22:42:16 +0000 (22:42 +0000)
find->status is marked as private and access is controlled
by find->lock.

lib/dns/adb.c
lib/dns/include/dns/adb.h
lib/dns/resolver.c

index 6e63965982ae5676604fa6ca674478efd1a35c9a..a81ebddc1b3e747b6ab284784f182a34d0225a4c 100644 (file)
@@ -2321,6 +2321,18 @@ dns_adb_cancelfind(dns_adbfind_t *find) {
        }
 }
 
+unsigned int
+dns_adb_findstatus(dns_adbfind_t *find) {
+       unsigned int status;
+       REQUIRE(DNS_ADBFIND_VALID(find));
+
+       UNLOCK(&find->lock);
+       status = find->status;
+       UNLOCK(&find->lock);
+
+       return (status);
+}
+
 void
 dns_adb_dump(dns_adb_t *adb, FILE *f) {
        isc_stdtime_t now = isc_stdtime_now();
index 65acb09ccf3a31029084545aeb11b5a851a6da21..9b40ab8f266344e4262e90d64a8e34205aa48dca 100644 (file)
@@ -387,6 +387,16 @@ dns_adbfind_done(dns_adbfind_t find);
  *\li  'find' != NULL and *find be valid dns_adbfind_t pointer.
  */
 
+unsigned int
+dns_adb_findstatus(dns_adbfind_t *);
+/*%<
+ * Returns the status field of the find.
+ *
+ * Requires:
+ *
+ *\li  'find' be a valid dns_adbfind_t pointer.
+ */
+
 void
 dns_adb_destroyfind(dns_adbfind_t **find);
 /*%<
index 6a96aae5d9a94f6196618a7af32417418e2115b9..a6f12fe4aaa71c75489c98d9381d10b9aee19475 100644 (file)
@@ -2907,7 +2907,7 @@ fctx_finddone(void *arg) {
                 * The fetch is waiting for a name to be found.
                 */
                INSIST(!SHUTTINGDOWN(fctx));
-               if (find->status == DNS_ADB_MOREADDRESSES) {
+               if (dns_adb_findstatus(find) == DNS_ADB_MOREADDRESSES) {
                        FCTX_ATTR_CLR(fctx, FCTX_ATTR_ADDRWAIT);
                        want_try = true;
                } else {