]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
memories
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Mon, 10 Apr 2006 09:16:46 +0000 (09:16 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Mon, 10 Apr 2006 09:16:46 +0000 (09:16 +0000)
examples/ldns-keyfetcher.c
rr.c
zone.c

index c8a7859b5aaf08421d074e6ed85587bfcce3338b..1567b2ab766cbf5186315db126bf5f6663d2c303 100644 (file)
@@ -521,7 +521,7 @@ read_root_hints(const char *filename)
                                ldns_rr_list_push_rr(addresses, ldns_rr_clone(rr));
                        }
                }
-               ldns_zone_free(z);
+               ldns_zone_deep_free(z);
                return addresses;
        }
 }
diff --git a/rr.c b/rr.c
index f51793b3a34999df348e6587a1f7ccfffb9729f8..158ab19eef6aa247507e6961b71b281556191b00 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -296,7 +296,8 @@ ldns_rr_new_frm_str(ldns_rr **newrr, const char *str, uint16_t default_ttl, ldns
                                } 
                        }
                        if (prev) {
-                               *prev = ldns_rr_owner(new);
+                               ldns_rdf_deep_free(*prev);
+                               *prev = ldns_rdf_clone(ldns_rr_owner(new));
                        }
                }
        }
diff --git a/zone.c b/zone.c
index 8131a45a40e3db8425f52c7b08c651dbacc9e795..7d5b994b748ea2db8379d4ab2af7977616a7ab5b 100644 (file)
--- a/zone.c
+++ b/zone.c
@@ -182,6 +182,7 @@ ldns_zone_new_frm_fp_l(ldns_zone **z, FILE *fp, ldns_rdf *origin, uint16_t ttl,
 
        while(!feof(fp)) {
                s = ldns_rr_new_frm_fp_l(&rr, fp, &my_ttl, &my_origin, &my_prev, line_nr);
+printf("ALLOCED IN FP_L: %p\n", s);
                switch (s) {
                case LDNS_STATUS_OK:
                        if (ldns_rr_get_type(rr) == LDNS_RR_TYPE_SOA) {
@@ -222,9 +223,13 @@ ldns_zone_new_frm_fp_l(ldns_zone **z, FILE *fp, ldns_rdf *origin, uint16_t ttl,
        if (my_origin) {
                ldns_rdf_deep_free(my_origin);
        }
+       if (my_prev) {
+               ldns_rdf_deep_free(my_prev);
+       }
        if (z) {
                *z = newzone;
        }
+
        return LDNS_STATUS_OK;
 }