From 96a22451d766e1c4d3ec4882d55e598417e4e796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 10 Mar 2026 10:19:42 +0100 Subject: [PATCH] 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. --- lib/dns/keytable.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c index 662570c749..c6f39302f9 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; }