]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3027. [bug] Add documented REQUIREs to cfg_obj_asnetprefix() to
authorMark Andrews <marka@isc.org>
Mon, 21 Feb 2011 06:11:14 +0000 (06:11 +0000)
committerMark Andrews <marka@isc.org>
Mon, 21 Feb 2011 06:11:14 +0000 (06:11 +0000)
                        catch NULL pointer dereferences before they happen.
                        [RT #22521]

CHANGES
lib/isccfg/parser.c

diff --git a/CHANGES b/CHANGES
index 4074e1bba2a757ac8c2461d9c5d1a74aea788c0c..6e29b53e4e350ab20a8a1bdb5822a20dd5ff6eaa 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+3027.  [bug]           Add documented REQUIREs to cfg_obj_asnetprefix() to
+                       catch NULL pointer dereferences before they happen.
+                       [RT #22521]
+
 3026.  [bug]           lib/isc/httpd.c: check that we have enough space
                        after calling grow_headerspace() and if not
                        re-call grow_headerspace() until we do. [RT #22521]
index 7db753e2cbb7f2aab9fe318ae67b9a448cd83972..140915d660a8a18c707a8b1db3549523c7054ffe 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: parser.c,v 1.139 2011/01/04 23:47:14 tbox Exp $ */
+/* $Id: parser.c,v 1.139.14.1 2011/02/21 06:11:14 marka Exp $ */
 
 /*! \file */
 
@@ -2006,8 +2006,12 @@ cfg_obj_isnetprefix(const cfg_obj_t *obj) {
 
 void
 cfg_obj_asnetprefix(const cfg_obj_t *obj, isc_netaddr_t *netaddr,
-                   unsigned int *prefixlen) {
+                   unsigned int *prefixlen)
+{
        REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_netprefix);
+       REQUIRE(netaddr != NULL);
+       REQUIRE(prefixlen != NULL);
+
        *netaddr = obj->value.netprefix.address;
        *prefixlen = obj->value.netprefix.prefixlen;
 }