From: Max Liebkies Date: Fri, 5 Sep 2014 15:51:01 +0000 (+0200) Subject: Fix memory leak in ldns_dname2buffer_wire_compress X-Git-Tag: release-1.7.0-rc1~148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f0ce848901a096d6748a87ef77fad3ab6a1c802;p=thirdparty%2Fldns.git Fix memory leak in ldns_dname2buffer_wire_compress label and rest are both objects created by memcpy'ing the data contained in name, via ldns_dname_label() and ldns_dname_left_chop(). As they are only used temporarily a shallow free does not suffice. Use ldns_rdf_deep_free() to free them. Signed-off-by: Max Liebkies --- diff --git a/host2wire.c b/host2wire.c index b88baadf..40df9002 100644 --- a/host2wire.c +++ b/host2wire.c @@ -87,9 +87,9 @@ ldns_dname2buffer_wire_compress(ldns_buffer *buffer, const ldns_rdf *name, ldns_ { ldns_buffer_write(buffer, data, size); } - ldns_rdf_free(label); + ldns_rdf_deep_free(label); s = ldns_dname2buffer_wire_compress(buffer, rest, compression_data); - ldns_rdf_free(rest); + ldns_rdf_deep_free(rest); return s; } }