ldns_tcp_read_wire_timeout().
* GOST support with correct algorithm numbers.
OpenSSL 1.0.0 is necessary (or use --disable-gost).
+ * Fixed comment in rbtree.h about being first member and data ptr.
+ * Fixed possibly leak in case of out of memory in ldns_native2rdf...
1.6.4 2010-01-20
* Imported pyldns contribution by Zdenek Vasicek and Karel Slany.
ldns_native2rdf_int16(ldns_rdf_type type, uint16_t value)
{
uint16_t *rdf_data = LDNS_XMALLOC(uint16_t, 1);
+ ldns_rdf* rdf;
if (!rdf_data) {
return NULL;
}
ldns_write_uint16(rdf_data, value);
- return ldns_rdf_new(type, LDNS_RDF_SIZE_WORD, rdf_data);
+ rdf = ldns_rdf_new(type, LDNS_RDF_SIZE_WORD, rdf_data);
+ if(!rdf)
+ LDNS_FREE(rdf_data);
+ return rdf;
}
ldns_rdf *
ldns_native2rdf_int32(ldns_rdf_type type, uint32_t value)
{
uint32_t *rdf_data = LDNS_XMALLOC(uint32_t, 1);
+ ldns_rdf* rdf;
if (!rdf_data) {
return NULL;
}
ldns_write_uint32(rdf_data, value);
- return ldns_rdf_new(type, LDNS_RDF_SIZE_DOUBLEWORD, rdf_data);
+ rdf = ldns_rdf_new(type, LDNS_RDF_SIZE_DOUBLEWORD, rdf_data);
+ if(!rdf)
+ LDNS_FREE(rdf_data);
+ return rdf;
}
ldns_rdf *
ldns_native2rdf_int16_data(size_t size, uint8_t *data)
{
uint8_t *rdf_data = LDNS_XMALLOC(uint8_t, size + 2);
+ ldns_rdf* rdf;
if (!rdf_data) {
return NULL;
}
ldns_write_uint16(rdf_data, size);
memcpy(rdf_data + 2, data, size);
- return ldns_rdf_new(LDNS_RDF_TYPE_INT16_DATA, size + 2, rdf_data);
+ rdf = ldns_rdf_new(LDNS_RDF_TYPE_INT16_DATA, size + 2, rdf_data);
+ if(!rdf)
+ LDNS_FREE(rdf_data);
+ return rdf;
}
/* note: data must be allocated memory */