]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
"blackhole" ACLs could cause named to segfault due to some
authorEvan Hunt <each@isc.org>
Wed, 21 May 2008 23:21:33 +0000 (23:21 +0000)
committerEvan Hunt <each@isc.org>
Wed, 21 May 2008 23:21:33 +0000 (23:21 +0000)
uninitialized memory. [rt18095]

CHANGES
lib/isc/radix.c

diff --git a/CHANGES b/CHANGES
index 35f1a27e0c20c0a7ec7bd3bb4c85f4f9d790f725..b9e894a7457c731f9ace90b1eb485254c560c4f6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2374.   [bug]           "blackhole" ACLs could cause named to segfault due
+                       to some uninitialized memory. [RT #18095]
+
 2373.  [bug]           Default values of zone ACLs were re-parsed each time a
                        new zone was configured, causing an overconsumption
                        of memory. [RT #18092]
index c6178c06f73892f75853825048e24dc61cb0b2dc..ee0c8158110f89a2b75545f237e524226cd6a481 100644 (file)
@@ -14,7 +14,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: radix.c,v 1.13 2008/01/27 23:47:20 tbox Exp $ */
+/* $Id: radix.c,v 1.14 2008/05/21 23:21:33 each Exp $ */
 
 /*
  * This source was adapted from MRT's RCS Ids:
@@ -323,6 +323,7 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
                if (node == NULL)
                        return (ISC_R_NOMEMORY);
                node->bit = bitlen;
+               node->node_num[0] = node->node_num[1] = -1;
                result = _ref_prefix(radix->mctx, &node->prefix, prefix);
                if (result != ISC_R_SUCCESS) {
                        isc_mem_put(radix->mctx, node,
@@ -351,7 +352,6 @@ isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t **target,
                } else {
                        node->node_num[ISC_IS6(family)] =
                                ++radix->num_added_node;
-                       node->node_num[!ISC_IS6(family)] = -1;
                        node->data[0] = NULL;
                        node->data[1] = NULL;
                }