diff options
author | attilio <attilio@FreeBSD.org> | 2013-02-24 16:50:53 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2013-02-24 16:50:53 +0000 |
commit | cff31deb1a197b29ab976c135fdd01dfb6951a6a (patch) | |
tree | dbdcb15ce3419e48e823390b612d613ff00bd567 /contrib/ldns/drill/chasetrace.c | |
parent | b4e24f9126f7a4c80ce0c44f6b4230021089bc1e (diff) | |
parent | 084e5da56e3c4bc6f9c6ed314310a9b8af2c695b (diff) | |
download | FreeBSD-src-cff31deb1a197b29ab976c135fdd01dfb6951a6a.zip FreeBSD-src-cff31deb1a197b29ab976c135fdd01dfb6951a6a.tar.gz |
MFC
Diffstat (limited to 'contrib/ldns/drill/chasetrace.c')
-rw-r--r-- | contrib/ldns/drill/chasetrace.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/contrib/ldns/drill/chasetrace.c b/contrib/ldns/drill/chasetrace.c index c2bbfd0..0a37ff3 100644 --- a/contrib/ldns/drill/chasetrace.c +++ b/contrib/ldns/drill/chasetrace.c @@ -45,7 +45,15 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, p = ldns_pkt_new(); res = ldns_resolver_new(); - if (!p || !res) { + if (!p) { + if (res) { + ldns_resolver_free(res); + } + error("Memory allocation failed"); + return NULL; + } + if (!res) { + ldns_pkt_free(p); error("Memory allocation failed"); return NULL; } @@ -73,6 +81,8 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, if (status != LDNS_STATUS_OK) { fprintf(stderr, "Error adding root servers to resolver: %s\n", ldns_get_errorstr_by_id(status)); ldns_rr_list_print(stdout, global_dns_root); + ldns_resolver_free(res); + ldns_pkt_free(p); return NULL; } @@ -118,7 +128,7 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t, drill_pkt_print_footer(stdout, local_res, p); /* remove the old nameserver from the resolver */ - while((pop = ldns_resolver_pop_nameserver(res))) { /* do it */ } + while(ldns_resolver_pop_nameserver(res)) { /* do it */ } /* also check for new_nss emptyness */ |