]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1519. [bug] dnssec-signzone:nsec_setbit() computed the wrong
authorMark Andrews <marka@isc.org>
Wed, 1 Oct 2003 04:10:26 +0000 (04:10 +0000)
committerMark Andrews <marka@isc.org>
Wed, 1 Oct 2003 04:10:26 +0000 (04:10 +0000)
                        length of the new bitmap.

CHANGES
bin/dnssec/dnssec-signzone.c

diff --git a/CHANGES b/CHANGES
index ed6a1e4107cd2e952206e0a513ed893922c60903..4446e88a507ee6722d7f934f7395ab64b5d8cf20 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+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.
index dc23114231d90593ce30ade6d6348a659da2d88d..6e99e4e163b90bf99697ef0fc149211e5eeb7fa8 100644 (file)
@@ -17,7 +17,7 @@
  * 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>
 
@@ -664,10 +664,9 @@ nsec_setbit(dns_name_t *name, dns_rdataset_t *rdataset, dns_rdatatype_t type,
        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);