From b3c2b646622219b8edb4e9b72c722e84784ccdc5 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Thu, 3 Aug 2023 12:51:41 -0700 Subject: [PATCH] use read lock in rdataset_getownercase() we were incorrectly write-locking the node when retrieving the owner case of an rdataset. --- lib/dns/rdataslab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c index b2c65e6e66..647a99fef1 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); }