From: Jelte Jansen Date: Thu, 29 Jun 2006 12:10:38 +0000 (+0000) Subject: some more frees X-Git-Tag: release-1.1.0~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a7618416e78f93b02b9b2f26bde010067c19c65;p=thirdparty%2Fldns.git some more frees --- diff --git a/dnssec.c b/dnssec.c index ac0061cf..157e1b36 100644 --- a/dnssec.c +++ b/dnssec.c @@ -681,10 +681,12 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h) 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; } @@ -692,6 +694,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h) data_buf = ldns_buffer_new(LDNS_MAX_PACKETLEN); if (!data_buf) { LDNS_FREE(digest); + ldns_rr_free(ds); return NULL; } @@ -713,6 +716,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h) 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; } @@ -720,6 +724,7 @@ ldns_key_rr2ds(const ldns_rr *key, ldns_hash h) 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) { diff --git a/examples/ldns-resolver.c b/examples/ldns-resolver.c index df43e668..b851dd83 100644 --- a/examples/ldns-resolver.c +++ b/examples/ldns-resolver.c @@ -18,11 +18,16 @@ main(int argc, char **argv) { FILE *rand; ldns_status s; + if (argc < 2) { + printf("Usage: ldns-resolver \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"); diff --git a/examples/ldns-rrsig.c b/examples/ldns-rrsig.c index d717cb2e..3cfd47bf 100644 --- a/examples/ldns-rrsig.c +++ b/examples/ldns-rrsig.c @@ -115,6 +115,7 @@ main(int argc, char *argv[]) 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); } @@ -168,8 +169,11 @@ main(int argc, char *argv[]) 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); } diff --git a/host2str.c b/host2str.c index 449cbb57..ba0c245f 100644 --- a/host2str.c +++ b/host2str.c @@ -1054,7 +1054,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k) 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 */ @@ -1251,6 +1251,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k) } #endif /* HAVE_SSL */ } else { + LDNS_FREE(b64_bignum); LDNS_FREE(bignum); return ldns_buffer_status(output); }