mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
2326. [bug] It was possible to trigger a INSIST in the acache
processing.
This commit is contained in:
parent
dc2a0aa7aa
commit
5badfc7e00
3
CHANGES
3
CHANGES
@ -1,3 +1,6 @@
|
||||
2326. [bug] It was possible to trigger a INSIST in the acache
|
||||
processing.
|
||||
|
||||
2325. [port] Linux: use capset() function if available. [RT #17557]
|
||||
|
||||
2324. [bug] Fix IPv6 matching against "any;" [RT #17533]
|
||||
|
@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: rbtdb.c,v 1.248 2007/12/02 20:27:35 marka Exp $ */
|
||||
/* $Id: rbtdb.c,v 1.249 2008/01/31 05:28:46 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@ -7225,12 +7225,13 @@ acache_callback(dns_acacheentry_t *entry, void **arg) {
|
||||
}
|
||||
|
||||
count = cbarg->count;
|
||||
if (acarray[count].entry == entry)
|
||||
if (acarray != NULL && acarray[count].entry == entry) {
|
||||
acarray[count].entry = NULL;
|
||||
INSIST(acarray[count].cbarg != NULL);
|
||||
isc_mem_put(rbtdb->common.mctx, acarray[count].cbarg,
|
||||
sizeof(acache_cbarg_t));
|
||||
acarray[count].cbarg = NULL;
|
||||
INSIST(acarray[count].cbarg == cbarg);
|
||||
isc_mem_put(rbtdb->common.mctx, cbarg, sizeof(acache_cbarg_t));
|
||||
acarray[count].cbarg = NULL;
|
||||
} else
|
||||
isc_mem_put(rbtdb->common.mctx, cbarg, sizeof(acache_cbarg_t));
|
||||
|
||||
dns_acache_detachentry(&entry);
|
||||
|
||||
@ -7372,9 +7373,7 @@ rdataset_setadditional(dns_rdataset_t *rdataset, dns_rdatasetadditional_t type,
|
||||
NODE_UNLOCK(nodelock, isc_rwlocktype_write);
|
||||
|
||||
if (oldentry != NULL) {
|
||||
if (oldcbarg != NULL)
|
||||
acache_cancelentry(rbtdb->common.mctx, oldentry,
|
||||
&oldcbarg);
|
||||
acache_cancelentry(rbtdb->common.mctx, oldentry, &oldcbarg);
|
||||
dns_acache_detachentry(&oldentry);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user