From 3973724d67651d3a3d90c6a4d32add040ba2b707 Mon Sep 17 00:00:00 2001 From: Aram Sargsyan Date: Thu, 2 Mar 2023 13:19:09 +0000 Subject: [PATCH] Use catzs->lock in dns_catz_prereconfig() There can be an update running in another thread, so use a lock, like it's done in dns_catz_postreconfig(). --- lib/dns/catz.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/dns/catz.c b/lib/dns/catz.c index f0f3d04771..f02784c659 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -2530,6 +2530,7 @@ dns_catz_prereconfig(dns_catz_zones_t *catzs) { REQUIRE(DNS_CATZ_ZONES_VALID(catzs)); + LOCK(&catzs->lock); isc_ht_iter_create(catzs->zones, &iter); for (result = isc_ht_iter_first(iter); result == ISC_R_SUCCESS; result = isc_ht_iter_next(iter)) @@ -2538,6 +2539,7 @@ dns_catz_prereconfig(dns_catz_zones_t *catzs) { isc_ht_iter_current(iter, (void **)&catz); catz->active = false; } + UNLOCK(&catzs->lock); INSIST(result == ISC_R_NOMORE); isc_ht_iter_destroy(&iter); }