[master] possible race in acache.c

3580.	[bug]		Addressed a possible race in acache.c [RT #33602]
This commit is contained in:
Evan Hunt
2013-05-31 17:30:09 -07:00
parent c611465739
commit 5183f9d9da
2 changed files with 4 additions and 1 deletions

View File

@@ -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]

View 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