diff --git a/lib/dns/cache.c b/lib/dns/cache.c index 78ce64bbd4..4ad1075939 100644 --- a/lib/dns/cache.c +++ b/lib/dns/cache.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: cache.c,v 1.36 2001/04/11 20:37:42 bwelling Exp $ */ +/* $Id: cache.c,v 1.37 2001/04/11 22:15:00 tale Exp $ */ #include @@ -659,6 +659,12 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) { return; } + /* + * The node was not needed, but was required by + * dns_dbiterator_current(). Give up its reference. + */ + dns_db_detachnode(cleaner->cache->db, &node); + /* * Step to the next node. */