aboutsummaryrefslogtreecommitdiff
path: root/contrib/ldns/drill/dnssec.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ldns/drill/dnssec.c')
-rw-r--r--contrib/ldns/drill/dnssec.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/contrib/ldns/drill/dnssec.c b/contrib/ldns/drill/dnssec.c
index b8074be03cc5..687cfe55a572 100644
--- a/contrib/ldns/drill/dnssec.c
+++ b/contrib/ldns/drill/dnssec.c
@@ -180,7 +180,20 @@ ldns_verify_denial(ldns_pkt *pkt, ldns_rdf *name, ldns_rr_type type, ldns_rr_lis
ldns_rr_list *nsecs;
ldns_status result;
-
+ const ldns_rr_descriptor *descriptor;
+
+ if (!pkt) {
+ descriptor = ldns_rr_descript(type);
+
+ printf("NETWORk ERROR! Cannot verify denial for: ");
+ ldns_rdf_print(stdout, name);
+ printf(" type ");
+ if (descriptor && descriptor->_name)
+ printf("%s", descriptor->_name);
+ else
+ printf("TYPE%u", type);
+ return LDNS_STATUS_CRYPTO_NO_RRSIG;
+ }
if (verbosity >= 5) {
printf("VERIFY DENIAL FROM:\n");
ldns_pkt_print(stdout, pkt);
@@ -453,6 +466,7 @@ ldns_nsec3_closest_encloser(ldns_rdf *qname, ldns_rr_type qtype, ldns_rr_list *n
}
if (ldns_dname_cat(hashed_sname, zone_name) != LDNS_STATUS_OK){
+ ldns_rdf_deep_free(hashed_sname);
goto done;
}