Index: xfs_syscalls-common.c =================================================================== RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/bsd/xfs_syscalls-common.c,v retrieving revision 1.56 diff -u -w -u -w -r1.56 xfs_syscalls-common.c --- xfs_syscalls-common.c 2000/12/30 17:15:51 1.56 +++ xfs_syscalls-common.c 2001/01/01 22:04:52 @@ -322,16 +322,17 @@ XFSDEB(XDEBSYS, ("fhget_call\n")); -#ifdef __APPLE__ - return EINVAL; /* XXX: Leaks vnodes if fhget/fhopen is used */ -#endif - if (vp == NULL) return EBADF; +#ifdef __APPLE__ + error = EINVAL; /* XXX: Leaks vnodes if fhget/fhopen is used */ + goto out; +#endif + error = xfs_suser (p); if (error) - return error; + goto out; #if (defined(HAVE_GETFH) && defined(HAVE_FHOPEN)) || defined(__osf__) { @@ -346,13 +347,15 @@ error = VFS_VPTOFH(vp, &fh.fh_fid); #endif if (error) - return (error); + goto out; - if (vice_ioctl->out_size < sizeof(fh)) - return EINVAL; + if (vice_ioctl->out_size < sizeof(fh)) { + error = EINVAL; + goto out; + } error = copyout((caddr_t)&fh, vice_ioctl->out, sizeof (fh)); - return (error); + goto out; } #else xfs_vop_getattr(vp, &vattr, xfs_proc_to_cred(p), p, error);