From: Evan Hunt Date: Thu, 3 Aug 2023 19:51:41 +0000 (-0700) Subject: use read lock in rdataset_getownercase() X-Git-Tag: v9.19.16~3^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b3c2b646622219b8edb4e9b72c722e84784ccdc5;p=thirdparty%2Fbind9.git use read lock in rdataset_getownercase() we were incorrectly write-locking the node when retrieving the owner case of an rdataset. --- diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c index b2c65e6e662..647a99fef16 100644 --- a/lib/dns/rdataslab.c +++ b/lib/dns/rdataslab.c @@ -1476,7 +1476,7 @@ rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { uint8_t mask = (1 << 7); uint8_t bits = 0; - dns_db_locknode(header->db, header->node, isc_rwlocktype_write); + dns_db_locknode(header->db, header->node, isc_rwlocktype_read); if (!CASESET(header)) { goto unlock; @@ -1499,5 +1499,5 @@ rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) { } unlock: - dns_db_unlocknode(header->db, header->node, isc_rwlocktype_write); + dns_db_unlocknode(header->db, header->node, isc_rwlocktype_read); }