Module Name:    src
Committed By:   riz
Date:           Mon Nov 19 18:15:25 UTC 2012

Modified Files:
        src/lib/libnpf [netbsd-6-0]: npf.c

Log Message:
Pull up following revision(s) (requested by rmind in ticket #653):
        lib/libnpf/npf.c: revision 1.14
        usr.sbin/npf/npfctl/npf_var.h: revision 1.5
Fix for npfctl show case.  Improve some description while here.


To generate a diff of this commit:
cvs rdiff -u -r1.7.2.5 -r1.7.2.5.4.1 src/lib/libnpf/npf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libnpf/npf.c
diff -u src/lib/libnpf/npf.c:1.7.2.5 src/lib/libnpf/npf.c:1.7.2.5.4.1
--- src/lib/libnpf/npf.c:1.7.2.5	Sun Aug 19 17:40:31 2012
+++ src/lib/libnpf/npf.c	Mon Nov 19 18:15:24 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf.c,v 1.7.2.5 2012/08/19 17:40:31 riz Exp $	*/
+/*	$NetBSD: npf.c,v 1.7.2.5.4.1 2012/11/19 18:15:24 riz Exp $	*/
 
 /*-
  * Copyright (c) 2010-2012 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.7.2.5 2012/08/19 17:40:31 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf.c,v 1.7.2.5.4.1 2012/11/19 18:15:24 riz Exp $");
 
 #include <sys/types.h>
 #include <netinet/in_systm.h>
@@ -208,13 +208,11 @@ void
 npf_config_destroy(nl_config_t *ncf)
 {
 
-	if (ncf->ncf_dict == NULL) {
+	if (!ncf->ncf_dict) {
 		prop_object_release(ncf->ncf_rules_list);
 		prop_object_release(ncf->ncf_rproc_list);
 		prop_object_release(ncf->ncf_table_list);
 		prop_object_release(ncf->ncf_nat_list);
-	} else {
-		prop_object_release(ncf->ncf_dict);
 	}
 	if (ncf->ncf_err) {
 		prop_object_release(ncf->ncf_err);
@@ -366,6 +364,9 @@ _npf_rule_foreach1(prop_array_t rules, u
 		(*func)(&nrl, nlevel);
 
 		subrules = prop_dictionary_get(rldict, "subrules");
+		if (!subrules) {
+			continue;
+		}
 		(void)_npf_rule_foreach1(subrules, nlevel + 1, func);
 	}
 	prop_object_iterator_release(it);

Reply via email to