From: Willem Toorop Date: Tue, 18 Oct 2016 09:51:47 +0000 (-0500) Subject: bugfix #754: Memory leak in ldns_str2rdf_ipseckey X-Git-Tag: release-1.7.0-rc1~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02665be0417cd0061f3ae8b715f432001d154e84;p=thirdparty%2Fldns.git bugfix #754: Memory leak in ldns_str2rdf_ipseckey --- diff --git a/Changelog b/Changelog index 62607016..ec7b45e3 100644 --- a/Changelog +++ b/Changelog @@ -84,6 +84,8 @@ TBD * bugfix #760: Detect superfluous text in presentation format Thanks Xiali Yan * bugfix #708: warnings and errors with xcode 6.1/7.0 + * bugfix #754: Memory leak in ldns_str2rdf_ipseckey + Thanks Xiali Yan 1.6.17 2014-01-10 * Fix ldns_dnssec_zone_new_frm_fp_l to allow the last parsed line of a diff --git a/host2str.c b/host2str.c index 121558c1..04b9ddbb 100644 --- a/host2str.c +++ b/host2str.c @@ -1134,7 +1134,7 @@ ldns_rdf2buffer_str_ipseckey(ldns_buffer *output, const ldns_rdf *rdf) public_key_size = ldns_rdf_size(rdf) - offset; public_key_data = LDNS_XMALLOC(uint8_t, public_key_size); if(!public_key_data) { - ldns_rdf_free(gateway); + ldns_rdf_deep_free(gateway); return LDNS_STATUS_MEM_ERR; } memcpy(public_key_data, &data[offset], public_key_size); @@ -1142,7 +1142,7 @@ ldns_rdf2buffer_str_ipseckey(ldns_buffer *output, const ldns_rdf *rdf) public_key_size, public_key_data); if(!public_key) { LDNS_FREE(public_key_data); - ldns_rdf_free(gateway); + ldns_rdf_deep_free(gateway); return LDNS_STATUS_MEM_ERR; } @@ -1154,8 +1154,8 @@ ldns_rdf2buffer_str_ipseckey(ldns_buffer *output, const ldns_rdf *rdf) ldns_buffer_printf(output, " "); (void) ldns_rdf2buffer_str(output, public_key); - ldns_rdf_free(gateway); - ldns_rdf_free(public_key); + ldns_rdf_deep_free(gateway); + ldns_rdf_deep_free(public_key); return ldns_buffer_status(output); }