Index: vfs_syscalls.c =================================================================== RCS file: /home/cvsup/freebsd/CVS/src/sys/kern/vfs_syscalls.c,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- vfs_syscalls.c 1997/10/12 20:24:27 1.76 +++ vfs_syscalls.c 1997/10/22 07:28:51 1.77 @@ -863,11 +863,13 @@ struct flock lf; struct nameidata nd; + flags = FFLAGS(SCARG(uap, flags)); + if ((flags & FREAD + FWRITE) == 0) + return (EINVAL); error = falloc(p, &nfp, &indx); if (error) return (error); fp = nfp; - flags = FFLAGS(SCARG(uap, flags)); cmode = ((SCARG(uap, mode) &~ fdp->fd_cmask) & ALLPERMS) &~ S_ISTXT; NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), p); p->p_dupfd = -indx - 1; /* XXX check for fdopen */