]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
And the _answerfrom value should be cloned when the packet is cloned too of course.
authorWillem Toorop <willem@NLnetLabs.nl>
Tue, 22 May 2012 09:31:10 +0000 (09:31 +0000)
committerWillem Toorop <willem@NLnetLabs.nl>
Tue, 22 May 2012 09:31:10 +0000 (09:31 +0000)
packet.c

index c828869072d26ff786392f016a8342420ed5f84e..3398d8f3aa2d313ab05d10fe9ad1c8358be4b93f 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -981,7 +981,9 @@ ldns_pkt_clone(ldns_pkt *pkt)
        ldns_pkt_set_ancount(new_pkt, ldns_pkt_ancount(pkt));
        ldns_pkt_set_nscount(new_pkt, ldns_pkt_nscount(pkt));
        ldns_pkt_set_arcount(new_pkt, ldns_pkt_arcount(pkt));
-       ldns_pkt_set_answerfrom(new_pkt, ldns_pkt_answerfrom(pkt));
+       if (ldns_pkt_answerfrom(pkt))
+               ldns_pkt_set_answerfrom(new_pkt,
+                       ldns_rdf_clone(ldns_pkt_answerfrom(pkt)));
        ldns_pkt_set_querytime(new_pkt, ldns_pkt_querytime(pkt));
        ldns_pkt_set_size(new_pkt, ldns_pkt_size(pkt));
        ldns_pkt_set_tsig(new_pkt, ldns_rr_clone(ldns_pkt_tsig(pkt)));