]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix 883: error for duplicate local zone entry.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 15 Sep 2016 10:59:26 +0000 (10:59 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 15 Sep 2016 10:59:26 +0000 (10:59 +0000)
git-svn-id: file:///svn/unbound/trunk@3858 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
services/localzone.c

index 292d2e1a27139c2d30d18f5099025c503f129748..35cff7d6d292567af85b3f845b510e02a7084bd7 100644 (file)
@@ -1,3 +1,6 @@
+15 September 2016: Wouter
+       - Fix 883: error for duplicate local zone entry.
+
 15 September 2016: Ralph
        - fix potential memory leak in daemon/remote.c and nullpointer
          dereference in validator/autotrust.
index 7091b01a2ab13a0bc5070a684b645e758b8c7eb2..1c65259b1fb31efb7210139b95f6e79c5ff60c1f 100644 (file)
@@ -185,7 +185,10 @@ lz_enter_zone_dname(struct local_zones* zones, uint8_t* nm, size_t len,
                lock_rw_unlock(&z->lock);
                local_zone_delete(z);
                lock_rw_unlock(&zones->lock);
-               return NULL;
+               /* find the correct zone, so not an error for duplicate */
+               z = local_zones_find(zones, nm, len, labs, c);
+               lock_rw_wrlock(&z->lock);
+               return z;
        }
        lock_rw_unlock(&zones->lock);
        return z;
@@ -617,7 +620,7 @@ lz_enter_override(struct local_zones* zones, char* zname, char* netblock,
                        lock_rw_unlock(&z->lock);
                        log_err("duplicate local-zone-override %s %s",
                                zname, netblock);
-                       return 0;
+                       return 1;
                }
        }