1.6.13
+ * bugfix #433: Allocate rdf using ldns_rdf_new in ldns_dname_label
+ * bugfix #432: Use LDNS_MALLOC & LDNS_FREE i.s.o. malloc & free
+ * bugfix #431: Added error message for LDNS_STATUS_INVALID_B32_EXT
* bugfix #427: Eplicitely link ssl with the programs that use it.
* Fix reading \DDD: Error on values that are outside range (>255).
* bugfix #429: fix doxyparse.plfails on NetBSD because specified
uint16_t len;
ldns_rdf *tmpnew;
size_t s;
+ uint8_t *data;
if (ldns_rdf_get_type(rdf) != LDNS_RDF_TYPE_DNAME) {
return NULL;
while ((len > 0) && src_pos < s) {
if (labelcnt == labelpos) {
/* found our label */
- tmpnew = LDNS_MALLOC(ldns_rdf);
- if (!tmpnew) {
+ data = LDNS_XMALLOC(uint8_t, len + 2);
+ if (!data) {
return NULL;
}
- tmpnew->_type = LDNS_RDF_TYPE_DNAME;
- tmpnew->_data = LDNS_XMALLOC(uint8_t, len + 2);
- if (!tmpnew->_data) {
- LDNS_FREE(tmpnew);
+ memcpy(data, ldns_rdf_data(rdf) + src_pos, len + 1);
+ data[len + 2 - 1] = 0;
+
+ tmpnew = ldns_rdf_new( LDNS_RDF_TYPE_DNAME
+ , len + 2, data);
+ if (!tmpnew) {
+ LDNS_FREE(data);
return NULL;
}
- memset(tmpnew->_data, 0, len + 2);
- memcpy(tmpnew->_data, ldns_rdf_data(rdf) + src_pos, len + 1);
- tmpnew->_size = len + 2;
return tmpnew;
}
src_pos++;
if (!sibmap) {
treedepth = ldns_dnssec_trust_tree_depth(tree);
- sibmap = malloc(treedepth);
+ sibmap = LDNS_MALLOC(treedepth);
if(!sibmap)
return; /* mem err */
memset(sibmap, 0, treedepth);
}
if (mapset) {
- free(sibmap);
+ LDNS_FREE(sibmap);
}
}
ldns_dnssec_name_node_free(ldns_rbnode_t *node, void *arg) {
(void) arg;
ldns_dnssec_name_free((ldns_dnssec_name *)node->data);
- free(node);
+ LDNS_FREE(node);
}
void
ldns_dnssec_name_node_deep_free(ldns_rbnode_t *node, void *arg) {
(void) arg;
ldns_dnssec_name_deep_free((ldns_dnssec_name *)node->data);
- free(node);
+ LDNS_FREE(node);
}
void
ldns_traverse_postorder(zone->names,
ldns_dnssec_name_node_free,
NULL);
- free(zone->names);
+ LDNS_FREE(zone->names);
}
LDNS_FREE(zone);
}
ldns_traverse_postorder(zone->names,
ldns_dnssec_name_node_deep_free,
NULL);
- free(zone->names);
+ LDNS_FREE(zone->names);
}
LDNS_FREE(zone);
}
{ LDNS_STATUS_INVALID_IP4, "Conversion error, ip4 addr expected" },
{ LDNS_STATUS_INVALID_IP6, "Conversion error, ip6 addr expected" },
{ LDNS_STATUS_INVALID_STR, "Conversion error, string expected" },
+ { LDNS_STATUS_INVALID_B32_EXT, "Conversion error, b32 ext encoding expected" },
{ LDNS_STATUS_INVALID_B64, "Conversion error, b64 encoding expected" },
{ LDNS_STATUS_INVALID_HEX, "Conversion error, hex encoding expected" },
{ LDNS_STATUS_INVALID_TIME, "Conversion error, time encoding expected" },
}
#endif /* HAVE_SSL */
if (ldns_key_hmac_key(key)) {
- free(ldns_key_hmac_key(key));
+ LDNS_FREE(ldns_key_hmac_key(key));
}
LDNS_FREE(key);
}
#include <ldns/config.h>
#include <ldns/rbtree.h>
+#include <ldns/utils.h>
#include <stdlib.h>
/** Node colour black */
ldns_rbtree_t *rbtree;
/* Allocate memory for it */
- rbtree = (ldns_rbtree_t *) malloc(sizeof(ldns_rbtree_t));
+ rbtree = (ldns_rbtree_t *) LDNS_MALLOC(sizeof(ldns_rbtree_t));
if (!rbtree) {
return NULL;
}
void
ldns_rbtree_free(ldns_rbtree_t *rbtree)
{
- free(rbtree);
+ LDNS_FREE(rbtree);
}
/*
status = ldns_wire2pkt(&resolver->_cur_axfr_pkt, packet_wire,
packet_wire_size);
- free(packet_wire);
+ LDNS_FREE(packet_wire);
resolver->_axfr_i = 0;
if (status != LDNS_STATUS_OK) {