]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
ldns_rr_list_cat_clone now return a clone of right when
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 1 Sep 2005 10:02:11 +0000 (10:02 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 1 Sep 2005 10:02:11 +0000 (10:02 +0000)
left == NULL.

Found when debugging -T of drill

Changelog
TODO
drill/chasetrace.c
rr.c

index bcec607b6070e1d629542070b721afab8c970226..cc2a254e5574f98d314eddd2f84a0a278dc577f0 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,8 @@
 XX Sep 2005: 0.80: ldns-team
        * License change: ldns is now BSD licensed
        * Networking code cleanup, added server udp/tcp support
+       * A zone type is introduced. Currently this is a list
+         of RRs, so it will not scale.
        * Zonefile parsing was added
        * Lua binding were created 
        * [tools] Drill was added to ldns - see drill/
diff --git a/TODO b/TODO
index 26ad096d8d667250a00796839ebf6455841f2941..b4d824c24f3f4ed9650e7f6375e1760c54b25efc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -26,7 +26,7 @@ o DNSSEC
 o init function? random - load_ssl_errors()
        - SSL_load_error_str()? 
 o SERVER stuff; open connection and such - NOT DONE AT ALL - will happen in .90
-o const args for all functions
+o const args for all functions?
 
 To ponder and discuss:
 ----------------------
@@ -38,3 +38,7 @@ o private key type? This works, but not (yet) for tsig stuff
        fold in the tsig stuff as well
 o install mx, keygen, chaos somewhere, along with manpages??
 o All lookup table stuff in _table types?
+
+To be removed:
+-------------
+LDNS_STATUS_CHECK_GOTO
index 41e8a4eec1cdaf633e188fb5f9b14594d3b8f95e..7f99119f9a7bd138cbe106e988d20fd08a8f44e5 100644 (file)
@@ -116,6 +116,7 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t,
                                ns_addr = ldns_rr_list_cat_clone(ns_addr,
                                        ldns_get_rr_list_addr_by_name(local_res, pop, c, 0));
                        }
+
                        if (ns_addr) {
                                if (ldns_resolver_push_nameserver_rr_list(res, ns_addr) != 
                                                LDNS_STATUS_OK) {
@@ -123,6 +124,7 @@ do_trace(ldns_resolver *local_res, ldns_rdf *name, ldns_rr_type t,
                                        ldns_pkt_free(p); 
                                        return NULL;
                                }
+                               ldns_rr_list_free(ns_addr);
                        } else {
                                error("%s", "Could not find the ip addr; abort");
                                ldns_pkt_free(p);
diff --git a/rr.c b/rr.c
index 3f138dd2995ba3c078a81e6e5acca2922f5c3a29..57e9c478035482fb3fb25ffb6ac3f55cc4e44a47 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -698,7 +698,7 @@ ldns_rr_list_cat_clone(ldns_rr_list *left, ldns_rr_list *right)
        if (left) {
                l_rr_count = ldns_rr_list_rr_count(left);
        } else {
-               return NULL;
+               return ldns_rr_list_clone(right);
        }
 
        if (right) {