]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] possible race in acache.c
authorEvan Hunt <each@isc.org>
Sat, 1 Jun 2013 00:30:09 +0000 (17:30 -0700)
committerEvan Hunt <each@isc.org>
Sat, 1 Jun 2013 00:30:09 +0000 (17:30 -0700)
3580. [bug] Addressed a possible race in acache.c [RT #33602]

CHANGES
lib/dns/acache.c

diff --git a/CHANGES b/CHANGES
index 8af76797655cef72cd916260a3ac1b63db61c709..0079de87e6ae61580f376d852c81c61877f59390 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3580.  [bug]           Addressed a possible race in acache.c [RT #33602]
+
 3579.  [maint]         Updates to PKCS#11 openssl patches, supporting
                        versions 0.9.8y, 1.0.0k, 1.0.1e [RT #33463]
 
index 6df9b98386353f44ae6e2a01af191df1a2a7adab..d3d28f8561710bae492d9fd77bc894f835f0186a 100644 (file)
@@ -1669,13 +1669,14 @@ dns_acache_cancelentry(dns_acacheentry_t *entry) {
        REQUIRE(DNS_ACACHEENTRY_VALID(entry));
 
        acache = entry->acache;
-       callback_active = ISC_TF(entry->cbarg != NULL);
 
        INSIST(DNS_ACACHE_VALID(entry->acache));
 
        LOCK(&acache->lock);
        ACACHE_LOCK(&acache->entrylocks[entry->locknum], isc_rwlocktype_write);
 
+       callback_active = ISC_TF(entry->cbarg != NULL);
+
        /*
         * Release dependencies stored in this entry as much as possible.
         * The main link cannot be released, since the acache object has