diff --git a/daemon/remote.c b/daemon/remote.c index 0b1cd64c5..20221d64e 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -1825,6 +1825,7 @@ cache_lookup_msg(struct lruhash_entry* e, void* arg) for(j=0; jcount + rd->rrsig_count; j++) { if(!packed_rr_to_string(rk, j, *inf->worker->env.now, s, sizeof(s))) { + rrset_array_unlock(d->ref, d->rrset_count); ssl_printf(inf->ssl, "BADRR\n"); return; } diff --git a/doc/Changelog b/doc/Changelog index 0ae4873ef..7000b1649 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -2,6 +2,7 @@ - unbound-control cache_lookup prints the cached rrsets and messages for those. - Fix to remove debug from cache_lookup. + - Fix to unlock cache_lookup message for malformed records. 12 August 2025: Wouter - Fix that unbound-control dump_cache releases the cache locks