From: Willem Toorop Date: Tue, 22 May 2012 09:10:56 +0000 (+0000) Subject: bugfix #448: Copy nameserver value (in stead of reference) of the answering nameserve... X-Git-Tag: release-1.6.14rc1~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a59e467bf6d7e7422caf896efce3f6fdbdf40ff;p=thirdparty%2Fldns.git bugfix #448: Copy nameserver value (in stead of reference) of the answering nameserver to the answer packet in ldns_send_buffer, so the original value may be deep freed with the ldns_resolver struct. Thanks Michael Meisel. --- diff --git a/Changelog b/Changelog index 244bc76a..9394fa5b 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,8 @@ 1.6.14 + * bugfix #448: Copy nameserver value (in stead of reference) of the + answering nameserver to the answer packet in ldns_send_buffer, so + the original value may be deep freed with the ldns_resolver struct. + Thanks Michael Meisel. 1.6.13 2012-05-21 * New -S option for ldns-verify-zone to chase signatures online. diff --git a/net.c b/net.c index 870511a7..27debff4 100644 --- a/net.c +++ b/net.c @@ -182,7 +182,8 @@ ldns_send_buffer(ldns_pkt **result, ldns_resolver *r, ldns_buffer *qb, ldns_rdf ldns_pkt_set_querytime(reply, (uint32_t) ((tv_e.tv_sec - tv_s.tv_sec) * 1000) + (tv_e.tv_usec - tv_s.tv_usec) / 1000); - ldns_pkt_set_answerfrom(reply, ns_array[i]); + ldns_pkt_set_answerfrom(reply, + ldns_rdf_clone(ns_array[i])); ldns_pkt_set_timestamp(reply, tv_s); ldns_pkt_set_size(reply, reply_size); break;