ldns_pkt_set_edns_data(packet, ldns_rdf_clone(ldns_rr_rdf(rr, 0)));
}
ldns_rr_free(rr);
- have_edns = 1;
+ have_edns += 1;
} else if (ldns_rr_get_type(rr) == LDNS_RR_TYPE_TSIG) {
ldns_pkt_set_tsig(packet, rr);
ldns_pkt_set_arcount(packet, ldns_pkt_arcount(packet) - 1);
}
ldns_pkt_set_size(packet, max);
if(have_edns)
- ldns_pkt_set_arcount(packet, ldns_pkt_arcount(packet) - 1);
+ ldns_pkt_set_arcount(packet, ldns_pkt_arcount(packet)
+ - have_edns);
*packet_p = packet;
return status;