]> 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:39:49 +0000 (01:39 +0000)
committerMark Andrews <marka@isc.org>
Fri, 26 Feb 2010 01:39:49 +0000 (01:39 +0000)
CHANGES
bin/named/update.c
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index d9009196e18badfd5d0359bd48f3e13757bf183e..7f98f6c8cd85e875fee52c26a91fd4defe3faf43 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 f9a3e2817a73a721d54172e70e7b942c3311294a..07a4306bcf417e0b2a34e20dd3470d945b0c0d4a 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: update.c,v 1.179 2009/12/30 02:43:09 marka Exp $ */
+/* $Id: update.c,v 1.180 2010/02/26 01:39:49 marka Exp $ */
 
 #include <config.h>
 
@@ -1941,6 +1941,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 21f92919793504298ea106a662dcf74386af5fc9..5220ca12b49acc02c019b259ab0bb8fa2bc3b50f 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.557 2010/01/26 23:33:10 fdupont Exp $ */
+/* $Id: zone.c,v 1.558 2010/02/26 01:39:49 marka Exp $ */
 
 /*! \file */
 
@@ -4735,6 +4735,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: