diff --git a/src/dnssec.c b/src/dnssec.c index 93d019b..dcb3f15 100644 --- a/src/dnssec.c +++ b/src/dnssec.c @@ -1761,7 +1761,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch unsigned char *ans_start, *p1, *p2; int type1, class1, rdlen1 = 0, type2, class2, rdlen2, qclass, qtype, targetidx; - int i, j, rc; + int i, j, rc = STAT_INSECURE; int secure = STAT_SECURE; /* extend rr_status if necessary */ @@ -1835,10 +1835,10 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch for (p1 = ans_start, i = 0; i < ntohs(header->ancount) + ntohs(header->nscount); i++) { - if (i != 0 && !ADD_RDLEN(header, p1, plen, rdlen1)) - return STAT_BOGUS; - - if (!extract_name(header, plen, &p1, name, 1, 10)) + if (i != 0 && !ADD_RDLEN(header, p1, plen, rdlen1)) + return STAT_BOGUS; + + if (!extract_name(header, plen, &p1, name, 1, 10)) return STAT_BOGUS; /* bad packet */ GETSHORT(type1, p1);