summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_ule.c
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-03-14 18:42:30 +0000
committerian <ian@FreeBSD.org>2015-03-14 18:42:30 +0000
commit56e931511b280ca16d68dbfdf5cd4dc16cb000cb (patch)
tree3f7b428764791340d3cb9adc677b63af47af4103 /sys/kern/sched_ule.c
parent200d20ade218c3fcf14551f82f1d20dfaaa7525c (diff)
downloadFreeBSD-src-56e931511b280ca16d68dbfdf5cd4dc16cb000cb.zip
FreeBSD-src-56e931511b280ca16d68dbfdf5cd4dc16cb000cb.tar.gz
Use sbuf_new_for_sysctl() instead of plain sbuf_new() to ensure sysctl
string returned to userland is nulterminated. PR: 195668
Diffstat (limited to 'sys/kern/sched_ule.c')
-rw-r--r--sys/kern/sched_ule.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index d394d9f..17371e7 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -2830,7 +2830,7 @@ sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS)
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_HANDLER_ARGS)
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);
OpenPOWER on IntegriCloud