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);
