From: Jelte Jansen Date: Tue, 27 Jun 2006 10:37:15 +0000 (+0000) Subject: memory X-Git-Tag: release-1.1.0~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=564242380df25934c025ebf9159abcdedae7e04b;p=thirdparty%2Fldns.git memory --- diff --git a/dnssec.c b/dnssec.c index 041ab65f..23bc9785 100644 --- 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 6821d424..20d47208 100644 --- 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 b6ab3b12..8b471ea5 100644 --- 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;