summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2001-07-17 20:57:49 +0000
committerderaadt <deraadt@openbsd.org>2001-07-17 20:57:49 +0000
commit61d73ccf255d8313a0d7c2d4210ecbb5a4f974dc (patch)
treece13d82f2c311154e1c19d43fad4642f7cd25d8a
parentupdate maxfd if maxfd is closed; report from jmcelroy@dtgnet.com (diff)
downloadwireguard-openbsd-61d73ccf255d8313a0d7c2d4210ecbb5a4f974dc.tar.xz
wireguard-openbsd-61d73ccf255d8313a0d7c2d4210ecbb5a4f974dc.zip
It takes a greek to put buffer overflow and unterminated string
handling into the kernel. Stick with the complicated stuff dude, breaking this simple shit is killing us!
-rw-r--r--sys/kern/kern_sysctl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index f8a636256a3..d2f2b25a5de 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sysctl.c,v 1.54 2001/07/13 23:46:12 mickey Exp $ */
+/* $OpenBSD: kern_sysctl.c,v 1.55 2001/07/17 20:57:49 deraadt Exp $ */
/* $NetBSD: kern_sysctl.c,v 1.17 1996/05/20 17:49:05 mrg Exp $ */
/*-
@@ -965,6 +965,7 @@ sysctl_diskinit(update, p)
for (dk = TAILQ_FIRST(&disklist), tlen = 0; dk;
dk = TAILQ_NEXT(dk, dk_link))
tlen += strlen(dk->dk_name) + 1;
+ tlen++;
if (disknames)
free(disknames, M_SYSCTL);
@@ -975,6 +976,7 @@ sysctl_diskinit(update, p)
diskstats = malloc(disk_count * sizeof(struct diskstats),
M_SYSCTL, M_WAITOK);
disknames = malloc(tlen, M_SYSCTL, M_WAITOK);
+ disknames[0] = '\0';
for (dk = TAILQ_FIRST(&disklist), i = 0, l = 0; dk;
dk = TAILQ_NEXT(dk, dk_link), i++) {