summaryrefslogtreecommitdiffstats
path: root/sys/kern/sysv_shm.c
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1996-09-02 05:25:06 +0000
committerderaadt <deraadt@openbsd.org>1996-09-02 05:25:06 +0000
commite9684b56c14b7d71bde036006cf0d52db044afdf (patch)
tree9dd8874720c0f7a9e854d67c77a8b9778372be40 /sys/kern/sysv_shm.c
parentperturb xid further. confuse the world (diff)
downloadwireguard-openbsd-e9684b56c14b7d71bde036006cf0d52db044afdf.tar.xz
wireguard-openbsd-e9684b56c14b7d71bde036006cf0d52db044afdf.zip
shmdt when no mapping is ok, found by christos
Diffstat (limited to 'sys/kern/sysv_shm.c')
-rw-r--r--sys/kern/sysv_shm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c
index ae4cae35341..f31f05f5ef0 100644
--- a/sys/kern/sysv_shm.c
+++ b/sys/kern/sysv_shm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sysv_shm.c,v 1.4 1996/04/21 22:27:26 deraadt Exp $ */
+/* $OpenBSD: sysv_shm.c,v 1.5 1996/09/02 05:25:06 deraadt Exp $ */
/* $NetBSD: sysv_shm.c,v 1.37 1996/03/16 23:17:13 christos Exp $ */
/*
@@ -178,6 +178,8 @@ sys_shmdt(p, v, retval)
int i;
shmmap_s = (struct shmmap_state *)p->p_vmspace->vm_shm;
+ if (shmmap_s == NULL)
+ return EINVAL;
for (i = 0; i < shminfo.shmseg; i++, shmmap_s++)
if (shmmap_s->shmid != -1 &&
shmmap_s->va == (vm_offset_t)SCARG(uap, shmaddr))