diff --git a/doc/Changelog b/doc/Changelog index 4f272ecc1..31960264d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -6,6 +6,7 @@ - Fix num_reply_addr counting in mesh and tcp drop due to size after serve_stale commit. - Fix to create and destroy rpz_lock in auth_zones structure. + - Fix to lock zone before adding rpz qname trigger. 5 February 2020: George - Added serve-stale functionality as described in diff --git a/services/rpz.c b/services/rpz.c index 1047852ad..643b20c91 100644 --- a/services/rpz.c +++ b/services/rpz.c @@ -523,8 +523,10 @@ rpz_insert_qname_trigger(struct rpz* r, uint8_t* dname, size_t dnamelen, lock_rw_unlock(&r->local_zones->lock); return; } + lock_rw_wrlock(&z->lock); local_zone_enter_rr(z, dname, dnamelen, dnamelabs, rrtype, rrclass, ttl, rdata, rdata_len, rrstr); + lock_rw_unlock(&z->lock); free(rrstr); } if(!newzone)