]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
4365. [bug] Address zone reference counting errors involving
authorMark Andrews <marka@isc.org>
Fri, 13 May 2016 01:54:25 +0000 (11:54 +1000)
committerMark Andrews <marka@isc.org>
Fri, 13 May 2016 01:54:25 +0000 (11:54 +1000)
                        nxdomain-redirect. [RT #42258]

CHANGES
bin/named/query.c

diff --git a/CHANGES b/CHANGES
index 590e19799a27c76144fef6d196fbc30151f7e494..adb3c7f22f31180e091177f85928bd0fec2b760e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+4365.  [bug]           Address zone reference counting errors involving
+                       nxdomain-redirect. [RT #42258]
+
 4364.  [port]          freebsd: add -Wl,-E to loader flags [RT #41690]
 
 4363.  [port]          Turn off triggering UAC when running BINDInstall
index 07d3a3e491862becafece83a7451b331da4138c5..faa39d63545b0e612e564fcab306e7b64048f504 100644 (file)
@@ -6384,6 +6384,8 @@ redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t *rdataset,
                             &db, &version, &is_zonep);
        if (result != ISC_R_SUCCESS)
                return (ISC_R_NOTFOUND);
+       if (zone != NULL)
+               dns_zone_detach(&zone);
 
        /*
         * Lookup the requested data in the redirect zone.
@@ -7966,6 +7968,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
                        client->query.redirect.authoritative = authoritative;
                        db = NULL;
                        node = NULL;
+                       zone = NULL;
                        rdataset = NULL;
                        sigrdataset = NULL;
                        goto cleanup;