]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3576. [bug] Address a shutdown race when validating. [RT #33573]
authorMark Andrews <marka@isc.org>
Wed, 29 May 2013 08:02:24 +0000 (18:02 +1000)
committerMark Andrews <marka@isc.org>
Wed, 29 May 2013 08:02:24 +0000 (18:02 +1000)
CHANGES
lib/dns/validator.c

diff --git a/CHANGES b/CHANGES
index f824667db7fd8a84122673986fd8f00c67a2e0a7..4a411d69bf4b0252f73daf9c4b4bab2064c975af 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3576.  [bug]           Address a shutdown race when validating. [RT #33573]
+
 3575.  [func]          Changed the logging category for RRL events from
                        'queries' to 'query-errors'. [RT #33540]
 
index d04954a59c3bc89c7a94fe21ef41f30cbc6a667b..2f4671b8f6a34c6555a7fbc4ae14de9a7c741f2e 100644 (file)
@@ -3713,7 +3713,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type,
        if (val == NULL)
                return (ISC_R_NOMEMORY);
        val->view = NULL;
-       dns_view_weakattach(view, &val->view);
+       dns_view_attach(view, &val->view);
 
        event = (dns_validatorevent_t *)
                isc_event_allocate(view->mctx, task,
@@ -3787,7 +3787,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type,
        isc_event_free(ISC_EVENT_PTR(&event));
 
  cleanup_val:
-       dns_view_weakdetach(&val->view);
+       dns_view_detach(&val->view);
        isc_mem_put(view->mctx, val, sizeof(*val));
 
        return (result);
@@ -3867,7 +3867,7 @@ destroy(dns_validator_t *val) {
        if (val->siginfo != NULL)
                isc_mem_put(mctx, val->siginfo, sizeof(*val->siginfo));
        DESTROYLOCK(&val->lock);
-       dns_view_weakdetach(&val->view);
+       dns_view_detach(&val->view);
        val->magic = 0;
        isc_mem_put(mctx, val, sizeof(*val));
 }