+1519. [bug] dnssec-signzone:nsec_setbit() computed the wrong
+ length of the new bitmap.
+
1518. [bug] dns_nsec_buildrdata(), and hence dns_nsec_build(),
contained a off-by-one error when working out the
number of octets in the bitmap.
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-signzone.c,v 1.169 2003/09/30 05:56:00 marka Exp $ */
+/* $Id: dnssec-signzone.c,v 1.170 2003/10/01 04:10:26 marka Exp $ */
#include <config.h>
result = dns_rdata_tostruct(&rdata, &nsec, NULL);
check_result(result, "dns_rdata_tostruct");
- newlen = type / 8 + 1;
+ INSIST(nsec.len <= sizeof(bitmap));
- INSIST(nsec.len < sizeof(bitmap));
- INSIST(newlen < sizeof(bitmap));
+ newlen = sizeof(bitmap);
memset(bitmap, 0, sizeof(bitmap));
memcpy(bitmap, nsec.typebits, nsec.len);