]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Searching catzs->zones requires a read lock
authorAram Sargsyan <aram@isc.org>
Fri, 27 Jan 2023 18:04:41 +0000 (18:04 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Tue, 28 Feb 2023 13:47:18 +0000 (13:47 +0000)
Lock the catzs->lock mutex before searching in the catzs->zones
hash table.

(cherry picked from commit 0ef0c86632c838c3f342fe1c6d8cdef1b327cde6)

lib/dns/catz.c

index 4867a56dfce3bdaa9225782002acb394cf907465..f51c42b00ef80682d470c509229b09e7623a0ea4 100644 (file)
@@ -890,8 +890,10 @@ dns_catz_get_zone(dns_catz_zones_t *catzs, const dns_name_t *name) {
        REQUIRE(DNS_CATZ_ZONES_VALID(catzs));
        REQUIRE(ISC_MAGIC_VALID(name, DNS_NAME_MAGIC));
 
+       LOCK(&catzs->lock);
        result = isc_ht_find(catzs->zones, name->ndata, name->length,
                             (void **)&found);
+       UNLOCK(&catzs->lock);
        if (result != ISC_R_SUCCESS) {
                return (NULL);
        }