]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to lock zone before adding rpz qname trigger.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 6 Feb 2020 11:22:15 +0000 (12:22 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 6 Feb 2020 11:22:15 +0000 (12:22 +0100)
doc/Changelog
services/rpz.c

index 4f272ecc1b1031fb20c5b8a40f7423d90efff89a..31960264d72d350768ddad03c27d24c15a88d0a9 100644 (file)
@@ -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
index 1047852ada6867004a78c3a26e97e907adcf9c1d..643b20c91d202e5544765942a2f21dbca8540da4 100644 (file)
@@ -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)