From: Evan Hunt Date: Sat, 1 Jun 2013 00:30:09 +0000 (-0700) Subject: [master] possible race in acache.c X-Git-Tag: v9.10.0a1~318 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=5183f9d9daa139cbf000c12709877f62e79dfb14;p=thirdparty%2Fbind9.git [master] possible race in acache.c 3580. [bug] Addressed a possible race in acache.c [RT #33602] --- diff --git a/CHANGES b/CHANGES index 8af76797655..0079de87e6a 100644 --- 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] diff --git a/lib/dns/acache.c b/lib/dns/acache.c index 6df9b983863..d3d28f85617 100644 --- a/lib/dns/acache.c +++ b/lib/dns/acache.c @@ -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