From: Jelte Jansen Date: Mon, 21 Feb 2005 15:20:21 +0000 (+0000) Subject: rest of the free examples X-Git-Tag: release-0.50~390 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2383e43aee2f19eb0d83efde4f716595a3e83772;p=thirdparty%2Fldns.git rest of the free examples --- diff --git a/host2str.c b/host2str.c index 1de6931e..62045aec 100644 --- a/host2str.c +++ b/host2str.c @@ -974,11 +974,6 @@ buffer2str(ldns_buffer *buffer) tmp_str = ldns_buffer_export(buffer); str = XMALLOC(char, strlen(tmp_str) + 1); -/* -if(str == 0x80530f0){ -memcpy(0, "a", 1); -} -*/ memcpy(str, tmp_str, strlen(tmp_str) + 1); return str; @@ -1051,6 +1046,7 @@ ldns_rr_print(FILE *output, ldns_rr *rr) } else { fprintf(output, "Unable to convert rr to string\n"); } + FREE(str); } void @@ -1062,5 +1058,6 @@ ldns_pkt_print(FILE *output, ldns_pkt *pkt) } else { fprintf(output, "Unable to convert packet to string\n"); } + FREE(str); } diff --git a/resolver.c b/resolver.c index 0c426d9c..5c5b423c 100644 --- a/resolver.c +++ b/resolver.c @@ -304,7 +304,9 @@ ldns_pkt * ldns_resolver_query(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr_class class, uint16_t flags) { + ldns_rdf *domainname; ldns_rdf *newname; + ldns_pkt *pkt; if (!ldns_resolver_defnames(r)) { return ldns_resolver_send(r, name, type, class, flags); @@ -315,12 +317,16 @@ ldns_resolver_query(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr } newname = ldns_dname_concat(name, ldns_resolver_domain(r)); + if (!newname) { return NULL; } ldns_rdf_print(stdout, newname); printf("the new name\n"); - return ldns_resolver_send(r, newname, type, class, flags); + pkt = ldns_resolver_send(r, newname, type, class, flags); + + ldns_rdf_free(newname); + return pkt; } /** diff --git a/run-test10.c b/run-test10.c index 0ab5d71b..4c4d9906 100644 --- a/run-test10.c +++ b/run-test10.c @@ -32,24 +32,29 @@ main(void) } qname = ldns_dname_new_frm_str("www.miek.nl."); + pkt = ldns_resolver_send(res, qname, LDNS_RR_TYPE_A, 0, LDNS_RD); if (pkt) { ldns_pkt_print(stdout, pkt); } + ldns_pkt_free(pkt); + pkt = ldns_resolver_send(res, qname, LDNS_RR_TYPE_A, 0, LDNS_RD); if (pkt) { ldns_pkt_print(stdout, pkt); } + ldns_pkt_free(pkt); name = ldns_dname_new_frm_str("www.miek.nl"); pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD); ldns_pkt_print(stdout, pkt); + /* this free also frees the ldns_rdf variable 'name' */ + ldns_pkt_free(pkt); + + ldns_rdf_free(qname); + ldns_rdf_free(nameserver); + ldns_resolver_free(res); - pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD); - ldns_pkt_print(stdout, pkt); - - pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD); - ldns_pkt_print(stdout, pkt); return 0; } diff --git a/run-test5.c b/run-test5.c index d3e4c0ba..23f5b1c5 100644 --- a/run-test5.c +++ b/run-test5.c @@ -14,7 +14,7 @@ main() printf("Packet:\n"); if (packet) ldns_pkt_print(stdout, packet); - + ldns_pkt_free(packet); printf("test 5\n"); packet = ldns_pkt_query_new_frm_str("www.kanariepiet.com", @@ -22,9 +22,12 @@ main() LDNS_RR_CLASS_IN, (uint16_t) (LDNS_AD | LDNS_AA)); printf("Packet:\n"); +/* if (packet) ldns_pkt_print(stdout, packet); +*/ + ldns_pkt_free(packet); return 0; } diff --git a/run-test6.c b/run-test6.c index fc70b3b2..ef080240 100644 --- a/run-test6.c +++ b/run-test6.c @@ -61,5 +61,11 @@ main(void) /* print the resulting pkt to stdout */ ldns_pkt_print(stdout, pkt); + ldns_resolver_free(res); + ldns_rdf_free(default_dom); + ldns_rdf_free(qname); + ldns_rdf_free(nameserver); + ldns_pkt_free(pkt); + return 0; } diff --git a/run-test7.c b/run-test7.c index f080f429..faae4d49 100644 --- a/run-test7.c +++ b/run-test7.c @@ -80,20 +80,13 @@ main(int argc, char **argv) printf("error pkt sending\n"); return 1; } - - /* print the resulting pkt to stdout */ - ldns_pkt_print(stdout, pkt); - - pkt = ldns_resolver_send(res, qname, ldns_rr_get_type_by_name(type), 0, LDNS_RD); - - if (!pkt) { - printf("error pkt sending\n"); - return 1; - } - + /* print the resulting pkt to stdout */ ldns_pkt_print(stdout, pkt); + ldns_rdf_free(nameserver); + ldns_rdf_free(qname); + ldns_pkt_free(pkt); ldns_resolver_free(res); return 0; } diff --git a/run-test8.c b/run-test8.c index aa518300..ba64813f 100644 --- a/run-test8.c +++ b/run-test8.c @@ -63,17 +63,6 @@ main(int argc, char **argv) printf("error making qname\n"); return -1; } - - pkt = ldns_resolver_send(res, qname, ldns_rr_get_type_by_name(type), 0, LDNS_RD); - if (!pkt) { - printf("error pkt sending\n"); - } else { - } - pkt = ldns_resolver_send(res, qname, ldns_rr_get_type_by_name(type), 0, LDNS_RD); - if (!pkt) { - printf("error pkt sending\n"); - } else { - } pkt = ldns_resolver_query(res, qname, ldns_rr_get_type_by_name(type), 0, LDNS_RD); if (!pkt) { @@ -81,5 +70,11 @@ main(int argc, char **argv) } else { } + ldns_rdf_free(nameserver); + ldns_rdf_free(defdomain); + ldns_rdf_free(qname); + ldns_pkt_free(pkt); + ldns_resolver_free(res); + return 0; } diff --git a/run-test9.c b/run-test9.c index 4a72d84c..0bd91dfb 100644 --- a/run-test9.c +++ b/run-test9.c @@ -34,9 +34,17 @@ main(void) if (pkt) { ldns_pkt_print(stdout, pkt); } + ldns_pkt_free(pkt); + pkt = ldns_resolver_send(res, qname, LDNS_RR_TYPE_A, 0, LDNS_RD); if (pkt) { ldns_pkt_print(stdout, pkt); } + ldns_pkt_free(pkt); + + ldns_rdf_free(qname); + ldns_rdf_free(nameserver); + ldns_resolver_free(res); + return 0; }