diff options
Diffstat (limited to 'lib/isccfg/parser.c')
| -rw-r--r-- | lib/isccfg/parser.c | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index 2f64a092ed73b..fc0e6afacaf8e 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -1,5 +1,5 @@  /* - * Copyright (C) 2004-2008  Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2011  Internet Systems Consortium, Inc. ("ISC")   * Copyright (C) 2000-2003  Internet Software Consortium.   *   * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@   * PERFORMANCE OF THIS SOFTWARE.   */ -/* $Id: parser.c,v 1.129 2008-09-25 04:02:39 tbox Exp $ */ +/* $Id: parser.c,v 1.129.48.3 2011-03-11 10:49:59 marka Exp $ */  /*! \file */ @@ -1875,6 +1875,7 @@ cfg_doc_netaddr(cfg_printer_t *pctx, const cfg_type_t *type) {  			cfg_print_chars(pctx, " | ", 3);  		cfg_print_chars(pctx, "*", 1);  		n++; +		POST(n);  	}  	if (*flagp != CFG_ADDR_V4OK && *flagp != CFG_ADDR_V6OK)  		cfg_print_chars(pctx, " )", 2); @@ -1914,7 +1915,7 @@ cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type,  	cfg_obj_t *obj = NULL;  	isc_result_t result;  	isc_netaddr_t netaddr; -	unsigned int addrlen, prefixlen; +	unsigned int addrlen = 0, prefixlen;  	UNUSED(type);  	CHECK(cfg_parse_rawaddr(pctx, CFG_ADDR_V4OK | CFG_ADDR_V4PREFIXOK | @@ -1927,7 +1928,6 @@ cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type,  		addrlen = 128;  		break;  	default: -		addrlen = 0;  		INSIST(0);  		break;  	} @@ -1977,8 +1977,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;  } @@ -2062,6 +2066,7 @@ cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type) {  			cfg_print_chars(pctx, " | ", 3);  		cfg_print_chars(pctx, "*", 1);  		n++; +		POST(n);  	}  	cfg_print_chars(pctx, " ) ", 3);  	if (*flagp & CFG_ADDR_WILDOK) {  | 
