summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorart <art@openbsd.org>1999-02-15 16:41:37 +0000
committerart <art@openbsd.org>1999-02-15 16:41:37 +0000
commite3e51c23e2381bdd905dc9e3db1f533580b5f7c3 (patch)
tree7d69530d1508691884cf5c0799626c970c6d22b2
parentbetter promisc/allmulti handling (diff)
downloadwireguard-openbsd-e3e51c23e2381bdd905dc9e3db1f533580b5f7c3.tar.xz
wireguard-openbsd-e3e51c23e2381bdd905dc9e3db1f533580b5f7c3.zip
Fail correctly when trying to match a filesystem on the old typenum
and the typenum is out of range
-rw-r--r--sys/kern/vfs_syscalls.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index adcaaa4d0fc..f76b99b7e12 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_syscalls.c,v 1.53 1999/01/19 20:52:47 art Exp $ */
+/* $OpenBSD: vfs_syscalls.c,v 1.54 1999/02/15 16:41:37 art Exp $ */
/* $NetBSD: vfs_syscalls.c,v 1.71 1996/04/23 10:29:02 mycroft Exp $ */
/*
@@ -199,17 +199,15 @@ sys_mount(p, v, retval)
*/
fstypenum = (u_long)SCARG(uap, type);
- if (fstypenum < maxvfsconf) {
- for (vfsp = vfsconf; vfsp; vfsp = vfsp->vfc_next)
- if (vfsp->vfc_typenum == fstypenum)
- break;
- if (vfsp == NULL) {
- vput(vp);
- return (ENODEV);
- }
- strncpy(fstypename, vfsp->vfc_name, MFSNAMELEN);
-
+ for (vfsp = vfsconf; vfsp; vfsp = vfsp->vfc_next)
+ if (vfsp->vfc_typenum == fstypenum)
+ break;
+ if (vfsp == NULL) {
+ vput(vp);
+ return (ENODEV);
}
+ strncpy(fstypename, vfsp->vfc_name, MFSNAMELEN);
+
#else
vput(vp);
return (error);