static bool
iterator_active(qpcache_t *qpdb, qpc_rditer_t *iterator,
dns_slabheader_t *header) {
- dns_ttl_t stale_ttl = header->expire + STALE_TTL(header, qpdb);
+ if (!EXISTS(header)) {
+ return false;
+ }
/*
* If this header is still active then return it.
return true;
}
+ dns_ttl_t stale_ttl = header->expire + STALE_TTL(header, qpdb);
+
/*
* If we are not returning stale records or the rdataset is
* too old don't return it.
NODE_RDLOCK(nlock, &nlocktype);
DNS_SLABHEADER_FOREACH(header, &qpnode->headers) {
+ if (!EXISTS(header)) {
+ continue;
+ }
if (EXPIREDOK(iterator) ||
iterator_active(qpdb, iterator, header))
{