]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2853. [bug] add_sigs() could run out of scratch space. [RT #21015]
authorMark Andrews <marka@isc.org>
Fri, 26 Feb 2010 01:52:05 +0000 (01:52 +0000)
committerMark Andrews <marka@isc.org>
Fri, 26 Feb 2010 01:52:05 +0000 (01:52 +0000)
CHANGES
bin/named/update.c
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 83015f4b23daed3c79ab3bc0192a8ce973c570d6..d6cb79716bfa0a206b60195c735dbdb6b16625f2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+2853.  [bug]           add_sigs() could run out of scratch space. [RT #21015]
+
 2852.  [bug]           Handle broken DNSSEC trust chains better. [RT #15619]
 
 2851.  [doc]           nslookup.1, removed <informalexample> from the docbook
index 74a192ad07b08ef50da9eaa776913f5501277314..ae5c34419a310323c9f35a61896aa29b37d727cf 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: update.c,v 1.151.12.9 2009/12/30 04:02:56 marka Exp $ */
+/* $Id: update.c,v 1.151.12.10 2010/02/26 01:52:05 marka Exp $ */
 
 #include <config.h>
 
@@ -1945,6 +1945,7 @@ add_sigs(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
                CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADDRESIGN, name,
                                    rdataset.ttl, &sig_rdata));
                dns_rdata_reset(&sig_rdata);
+               isc_buffer_init(&buffer, data, sizeof(data));
                added_sig = ISC_TRUE;
        }
        if (!added_sig) {
index c21b1f05b1189f963182e7b66adfdc44d802aced..b7e723ea78f6c2fa26d54ccb1e2592b4d34b77cf 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.483.36.17 2009/12/21 04:32:42 marka Exp $ */
+/* $Id: zone.c,v 1.483.36.18 2010/02/26 01:52:05 marka Exp $ */
 
 /*! \file */
 
@@ -3877,6 +3877,7 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
                CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADDRESIGN,
                                    name, rdataset.ttl, &sig_rdata));
                dns_rdata_reset(&sig_rdata);
+               isc_buffer_init(&buffer, data, sizeof(data));
        }
 
  failure: