From: Aram Sargsyan Date: Thu, 2 Mar 2023 13:19:09 +0000 (+0000) Subject: Use catzs->lock in dns_catz_prereconfig() X-Git-Tag: v9.19.11~4^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3973724d67651d3a3d90c6a4d32add040ba2b707;p=thirdparty%2Fbind9.git 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(). --- diff --git a/lib/dns/catz.c b/lib/dns/catz.c index f0f3d047717..f02784c659f 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); }