diff --git a/CHANGES b/CHANGES index 03a6fd6eca..234d64eddf 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +2479. [bug] xfrout:covers was not properly initalized. [RT 18801] + 2478. [bug] 'addresses' could be used uninitalized in configure_forward(). [RT 18800] diff --git a/bin/named/xfrout.c b/bin/named/xfrout.c index cfa6baef3f..55b19f0c7b 100644 --- a/bin/named/xfrout.c +++ b/bin/named/xfrout.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: xfrout.c,v 1.130 2008/09/24 02:46:21 marka Exp $ */ +/* $Id: xfrout.c,v 1.131 2008/10/29 02:54:20 marka Exp $ */ #include @@ -314,6 +314,11 @@ log_rr(dns_name_t *name, dns_rdata_t *rdata, isc_uint32_t ttl) { rdl.type = rdata->type; rdl.rdclass = rdata->rdclass; rdl.ttl = ttl; + if (rdata->type == dns_rdatatype_sig || + rdata->type == dns_rdatatype_rrsig) + rdl.covers = dns_rdata_covers(rdata); + else + rdl.covers = dns_rdatatype_none; ISC_LIST_INIT(rdl.rdata); ISC_LINK_INIT(&rdl, link); dns_rdataset_init(&rds); @@ -1592,6 +1597,11 @@ sendstream(xfrout_ctx_t *xfr) { msgrdl->type = rdata->type; msgrdl->rdclass = rdata->rdclass; msgrdl->ttl = ttl; + if (rdata->type == dns_rdatatype_sig || + rdata->type == dns_rdatatype_rrsig) + msgrdl->covers = dns_rdata_covers(rdata); + else + msgrdl->covers = dns_rdatatype_none; ISC_LINK_INIT(msgrdl, link); ISC_LIST_INIT(msgrdl->rdata); ISC_LIST_APPEND(msgrdl->rdata, msgrdata, link);