From 583043f527f09b9bef200166ac7ae4a0bbb13be7 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 28 Jan 2014 14:54:46 +0000 Subject: [PATCH] Crash in cache code when compiled with HAVE_DNSSEC. --- src/cache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cache.c b/src/cache.c index 01fee3f..019f5bb 100644 --- a/src/cache.c +++ b/src/cache.c @@ -345,7 +345,8 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign #ifdef HAVE_DNSSEC /* Deletion has to be class-sensitive for DS, DNSKEY, RRSIG, also type-covered sensitive for RRSIG */ - if ((flags & (F_DNSKEY | F_DS)) == (crecp->flags & (F_DNSKEY | F_DS)) && + if ((flags & (F_DNSKEY | F_DS)) && + (flags & (F_DNSKEY | F_DS)) == (crecp->flags & (F_DNSKEY | F_DS)) && crecp->uid == addr->addr.dnssec.class && (!((flags & (F_DS | F_DNSKEY)) == (F_DS | F_DNSKEY)) || crecp->addr.sig.type_covered == addr->addr.dnssec.type))