From: Ondřej Surý Date: Tue, 10 Mar 2026 09:19:42 +0000 (+0100) Subject: Fix rwlock type mismatch in delete_ds() error path X-Git-Tag: v9.21.21~32^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96a22451d766e1c4d3ec4882d55e598417e4e796;p=thirdparty%2Fbind9.git Fix rwlock type mismatch in delete_ds() error path The lock is acquired for reading but the error path from dns_rdata_fromstruct() incorrectly unlocks it as a write lock. --- diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c index 662570c7490..c6f39302f9d 100644 --- a/lib/dns/keytable.c +++ b/lib/dns/keytable.c @@ -240,7 +240,7 @@ delete_ds(dns_qp_t *qp, dns_keytable_t *keytable, dns_keynode_t *knode, result = dns_rdata_fromstruct(&dsrdata, dns_rdataclass_in, dns_rdatatype_ds, ds, &b); if (result != ISC_R_SUCCESS) { - RWUNLOCK(&knode->rwlock, isc_rwlocktype_write); + RWUNLOCK(&knode->rwlock, isc_rwlocktype_read); return result; }