svn commit: r279999 - head/sys/kern

Ian Lepore ian at FreeBSD.org
Sat Mar 14 18:42:31 UTC 2015


Author: ian
Date: Sat Mar 14 18:42:30 2015
New Revision: 279999
URL: https://svnweb.freebsd.org/changeset/base/279999

Log:
  Use sbuf_new_for_sysctl() instead of plain sbuf_new() to ensure sysctl
  string returned to userland is nulterminated.
  
  PR:           195668

Modified:
  head/sys/kern/sched_ule.c

Modified: head/sys/kern/sched_ule.c
==============================================================================
--- head/sys/kern/sched_ule.c	Sat Mar 14 18:38:07 2015	(r279998)
+++ head/sys/kern/sched_ule.c	Sat Mar 14 18:42:30 2015	(r279999)
@@ -2830,7 +2830,7 @@ sysctl_kern_sched_topology_spec(SYSCTL_H
 
 	KASSERT(cpu_top != NULL, ("cpu_top isn't initialized"));
 
-	topo = sbuf_new(NULL, NULL, 500, SBUF_AUTOEXTEND);
+	topo = sbuf_new_for_sysctl(NULL, NULL, 512, req);
 	if (topo == NULL)
 		return (ENOMEM);
 
@@ -2839,8 +2839,7 @@ sysctl_kern_sched_topology_spec(SYSCTL_H
 	sbuf_printf(topo, "</groups>\n");
 
 	if (err == 0) {
-		sbuf_finish(topo);
-		err = SYSCTL_OUT(req, sbuf_data(topo), sbuf_len(topo));
+		err = sbuf_finish(topo);
 	}
 	sbuf_delete(topo);
 	return (err);


More information about the svn-src-head mailing list