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;
/* 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;
/* 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;
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;
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);
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;