]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix memory leak in ldns_dname2buffer_wire_compress
authorMax Liebkies <mail@maxliebkies.de>
Fri, 5 Sep 2014 15:51:01 +0000 (17:51 +0200)
committerWillem Toorop <willem@nlnetlabs.nl>
Thu, 11 Sep 2014 09:51:58 +0000 (11:51 +0200)
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 <mail@maxliebkies.de>
host2wire.c

index b88baadf29de8875bceb6323287adcbf213f1f15..40df900213d030509431e02761718bd3e44482e1 100644 (file)
@@ -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;
        }
 }