Module Name: src Committed By: dyoung Date: Mon Aug 24 20:53:00 UTC 2009
Modified Files: src/sys/kern: kern_sysctl.c Log Message: In sysctl_create(), the first character of sysctl_name is sysctl_name[0], so write that instead of sysctl_name[sz] (where sz just happened to be set to 0 in the previous line). Also in sysctl_create(), give the length of the sysctl_name its own variable, nsz, and reserve sz for expressing the size of the node's value. No functional change intended. To generate a diff of this commit: cvs rdiff -u -r1.224 -r1.225 src/sys/kern/kern_sysctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_sysctl.c diff -u src/sys/kern/kern_sysctl.c:1.224 src/sys/kern/kern_sysctl.c:1.225 --- src/sys/kern/kern_sysctl.c:1.224 Fri Aug 21 22:51:00 2009 +++ src/sys/kern/kern_sysctl.c Mon Aug 24 20:53:00 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_sysctl.c,v 1.224 2009/08/21 22:51:00 dyoung Exp $ */ +/* $NetBSD: kern_sysctl.c,v 1.225 2009/08/24 20:53:00 dyoung Exp $ */ /*- * Copyright (c) 2003, 2007, 2008 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_sysctl.c,v 1.224 2009/08/21 22:51:00 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_sysctl.c,v 1.225 2009/08/24 20:53:00 dyoung Exp $"); #include "opt_defcorename.h" #include "ksyms.h" @@ -693,7 +693,7 @@ #endif { struct sysctlnode nnode, *node, *pnode; - int error, ni, at, nm, type, sz, flags, anum, v; + int error, ni, at, nm, type, nsz, sz, flags, anum, v; void *own; KASSERT(rw_write_held(&sysctl_treelock)); @@ -775,33 +775,33 @@ #endif /* NKSYMS > 0 */ if (nm < 0 && nm != CTL_CREATE) return (EINVAL); - sz = 0; /* * the name can't start with a digit */ - if (nnode.sysctl_name[sz] >= '0' && - nnode.sysctl_name[sz] <= '9') + if (nnode.sysctl_name[0] >= '0' && + nnode.sysctl_name[0] <= '9') return (EINVAL); /* * the name must be only alphanumerics or - or _, longer than * 0 bytes and less that SYSCTL_NAMELEN */ - while (sz < SYSCTL_NAMELEN && nnode.sysctl_name[sz] != '\0') { - if ((nnode.sysctl_name[sz] >= '0' && - nnode.sysctl_name[sz] <= '9') || - (nnode.sysctl_name[sz] >= 'A' && - nnode.sysctl_name[sz] <= 'Z') || - (nnode.sysctl_name[sz] >= 'a' && - nnode.sysctl_name[sz] <= 'z') || - nnode.sysctl_name[sz] == '-' || - nnode.sysctl_name[sz] == '_') - sz++; + nsz = 0; + while (nsz < SYSCTL_NAMELEN && nnode.sysctl_name[nsz] != '\0') { + if ((nnode.sysctl_name[nsz] >= '0' && + nnode.sysctl_name[nsz] <= '9') || + (nnode.sysctl_name[nsz] >= 'A' && + nnode.sysctl_name[nsz] <= 'Z') || + (nnode.sysctl_name[nsz] >= 'a' && + nnode.sysctl_name[nsz] <= 'z') || + nnode.sysctl_name[nsz] == '-' || + nnode.sysctl_name[nsz] == '_') + nsz++; else return (EINVAL); } - if (sz == 0 || sz == SYSCTL_NAMELEN) + if (nsz == 0 || nsz == SYSCTL_NAMELEN) return (EINVAL); /*