Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2014 22:42:56 +0000 (UTC)
From:      Dag-Erling Smørgrav <des@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r273564 - head/sys/kern
Message-ID:  <201410232242.s9NMguV9008309@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: des
Date: Thu Oct 23 22:42:56 2014
New Revision: 273564
URL: https://svnweb.freebsd.org/changeset/base/273564

Log:
  In all cases except CTLTYPE_STRING, penv is NULL here, so passing it
  indiscriminately to printf() and freeenv() is incorrect.  Add a NULL
  check before freeenv(); as for printf(), we could use req.newptr
  instead, but we'd have to select the correct format string based on
  the type, and that's too much work for an error message, so just
  remove it.

Modified:
  head/sys/kern/kern_sysctl.c

Modified: head/sys/kern/kern_sysctl.c
==============================================================================
--- head/sys/kern/kern_sysctl.c	Thu Oct 23 22:33:27 2014	(r273563)
+++ head/sys/kern/kern_sysctl.c	Thu Oct 23 22:42:56 2014	(r273564)
@@ -280,11 +280,10 @@ sysctl_load_tunable_by_oid_locked(struct
 	}
 	error = sysctl_root_handler_locked(oidp, oidp->oid_arg1,
 	    oidp->oid_arg2, &req);
-	if (error != 0) {
-		printf("Setting sysctl '%s' to '%s' failed: %d\n",
-		    path, penv, error);
-	}
-	freeenv(penv);
+	if (error != 0)
+		printf("Setting sysctl %s failed: %d\n", path, error);
+	if (penv != NULL)
+		freeenv(penv);
 }
 
 void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410232242.s9NMguV9008309>