]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
auth zone fixup lock protection, it wrongly covered the rbtree node.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 5 Feb 2018 10:57:15 +0000 (10:57 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 5 Feb 2018 10:57:15 +0000 (10:57 +0000)
git-svn-id: file:///svn/unbound/trunk@4507 be551aaa-1e26-0410-a405-d3ace91eadb9

services/authzone.c

index 7fa5094e8516880db1ce5e96a1b50acc3553b073..d280d943239ce2f9373289ad1633f924fd8b2b82 100644 (file)
@@ -5263,7 +5263,20 @@ auth_xfer_new(struct auth_zone* z)
        }
 
        lock_basic_init(&xfr->lock);
-       lock_protect(&xfr->lock, xfr, sizeof(*xfr));
+       lock_protect(&xfr->lock, &xfr->name, sizeof(xfr->name));
+       lock_protect(&xfr->lock, &xfr->namelen, sizeof(xfr->namelen));
+       lock_protect(&xfr->lock, xfr->name, xfr->namelen);
+       lock_protect(&xfr->lock, &xfr->namelabs, sizeof(xfr->namelabs));
+       lock_protect(&xfr->lock, &xfr->dclass, sizeof(xfr->dclass));
+       lock_protect(&xfr->lock, &xfr->notify_received, sizeof(xfr->notify_received));
+       lock_protect(&xfr->lock, &xfr->notify_serial, sizeof(xfr->notify_serial));
+       lock_protect(&xfr->lock, &xfr->zone_expired, sizeof(xfr->zone_expired));
+       lock_protect(&xfr->lock, &xfr->have_zone, sizeof(xfr->have_zone));
+       lock_protect(&xfr->lock, &xfr->serial, sizeof(xfr->serial));
+       lock_protect(&xfr->lock, &xfr->retry, sizeof(xfr->retry));
+       lock_protect(&xfr->lock, &xfr->refresh, sizeof(xfr->refresh));
+       lock_protect(&xfr->lock, &xfr->expiry, sizeof(xfr->expiry));
+       lock_protect(&xfr->lock, &xfr->lease_time, sizeof(xfr->lease_time));
        lock_protect(&xfr->lock, &xfr->task_nextprobe->worker,
                sizeof(xfr->task_nextprobe->worker));
        lock_protect(&xfr->lock, &xfr->task_probe->worker,