]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
memory
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Tue, 27 Jun 2006 10:37:15 +0000 (10:37 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Tue, 27 Jun 2006 10:37:15 +0000 (10:37 +0000)
dnssec.c
rr.c
zone.c

index 041ab65f2a66da2f484f73215bb3477e93823583..23bc9785ad9af2c0f50393261d6fe8adaa9cdbb8 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -1029,7 +1029,7 @@ ldns_create_nsec(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)
        uint16_t i;
        ldns_rr *i_rr;
 
-       uint8_t *bitmap = LDNS_XMALLOC(uint8_t, 1);
+       uint8_t *bitmap = LDNS_XMALLOC(uint8_t, 2);
        uint16_t bm_len = 0;
        uint16_t i_type;
 
@@ -1056,7 +1056,7 @@ ldns_create_nsec(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)
                        /* add type to bitmap */
                        i_type = ldns_rr_get_type(i_rr);
                        if ((i_type / 8) + 1 > bm_len) {
-                               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 1);
+                               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 2);
                                /* set to 0 */
                                for (; bm_len <= i_type / 8; bm_len++) {
                                        bitmap[bm_len] = 0;
@@ -1068,7 +1068,7 @@ ldns_create_nsec(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)
        /* add NSEC and RRSIG anyway */
        i_type = LDNS_RR_TYPE_RRSIG;
        if (i_type / 8 > bm_len) {
-               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 1);
+               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 2);
                /* set to 0 */
                for (; bm_len <= i_type / 8; bm_len++) {
                        bitmap[bm_len] = 0;
@@ -1078,7 +1078,7 @@ ldns_create_nsec(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)
        i_type = LDNS_RR_TYPE_NSEC;
 
        if (i_type / 8 > bm_len) {
-               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 1);
+               bitmap = LDNS_XREALLOC(bitmap, uint8_t, (i_type / 8) + 2);
                /* set to 0 */
                for (; bm_len <= i_type / 8; bm_len++) {
                        bitmap[bm_len] = 0;
diff --git a/rr.c b/rr.c
index 6821d42401a5e5750a6e7cf4312631fb0ae39915..20d47208bef9b42fee03e2fc9428e8527a0a4017 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -517,7 +517,7 @@ ldns_rr_new_frm_fp_l(ldns_rr **newrr, FILE *fp, uint16_t *default_ttl, ldns_rdf
        
        if ((keyword = strstr(line, "$ORIGIN "))) {
                if (*origin) {
-                       ldns_rdf_free(*origin);
+                       ldns_rdf_deep_free(*origin);
                        *origin = NULL;
                }
                tmp = ldns_rdf_new_frm_str(LDNS_RDF_TYPE_DNAME, keyword + 8);
diff --git a/zone.c b/zone.c
index b6ab3b1284a8fa5aed957cb390997a946382fd4d..8b471ea5dccf79e35f43d88eabff5e599c9c2e2e 100644 (file)
--- a/zone.c
+++ b/zone.c
@@ -205,7 +205,7 @@ ldns_zone_new_frm_fp_l(ldns_zone **z, FILE *fp, ldns_rdf *origin, uint16_t ttl,
                        last_rr = rr;
                        if (!ldns_zone_push_rr(newzone, rr)) {
                                if (my_origin) {
-                                       ldns_rdf_free(my_origin);
+                                       ldns_rdf_deep_free(my_origin);
                                }
                                ldns_zone_free(newzone);
                                return LDNS_STATUS_MEM_ERR;