case LDNS_SHA1:
digest = LDNS_XMALLOC(uint8_t, SHA_DIGEST_LENGTH);
if (!digest) {
+ ldns_rr_free(ds);
return NULL;
}
break;
case LDNS_SHA256:
+ ldns_rr_free(ds);
return NULL; /* not implemented */
break;
}
data_buf = ldns_buffer_new(LDNS_MAX_PACKETLEN);
if (!data_buf) {
LDNS_FREE(digest);
+ ldns_rr_free(ds);
return NULL;
}
if (ldns_rdf2buffer_wire(data_buf, ldns_rr_owner(key)) != LDNS_STATUS_OK) {
LDNS_FREE(digest);
ldns_buffer_free(data_buf);
+ ldns_rr_free(ds);
return NULL;
}
if (ldns_rr_rdata2buffer_wire(data_buf, (ldns_rr*)key) != LDNS_STATUS_OK) {
LDNS_FREE(digest);
ldns_buffer_free(data_buf);
+ ldns_rr_free(ds);
return NULL;
}
switch(h) {
FILE *rand;
ldns_status s;
+ if (argc < 2) {
+ printf("Usage: ldns-resolver <file>\n");
+ exit(EXIT_FAILURE);
+ }
+
if (!(rand = fopen(argv[1], "r"))) {
exit(EXIT_FAILURE);
}
- printf("Trying to read from /dev/urandom\n");
+ printf("Trying to read from %s\n", argv[1]);
s = ldns_resolver_new_frm_fp_l(&r, rand, &line);
if (s != LDNS_STATUS_OK) {
printf("Failure\n");
printf("Error adding nameserver to resolver\n");
ldns_pkt_free(p);
ldns_resolver_deep_free(res);
+ ldns_resolver_deep_free(localres);
ldns_rr_list_deep_free(ns);
exit(EXIT_FAILURE);
}
fprintf(stderr, " *** No RRSIG(%s) type found\n",
type_name);
ldns_resolver_deep_free(localres);
+ ldns_resolver_deep_free(res);
ldns_pkt_free(p);
ldns_rr_list_deep_free(ns);
+ ldns_rr_list_free(rrsig);
+ ldns_rr_list_deep_free(rrsig_type);
exit(EXIT_FAILURE);
}
unsigned char *bignum;
#ifdef HAVE_SSL
/* not used when ssl is not defined */
- ldns_rdf *b64_bignum;
+ ldns_rdf *b64_bignum = NULL;
uint16_t i;
#endif /* HAVE_SSL */
}
#endif /* HAVE_SSL */
} else {
+ LDNS_FREE(b64_bignum);
LDNS_FREE(bignum);
return ldns_buffer_status(output);
}