
===========================================================================
Index: linux/fs/posix_acl.c
===========================================================================

--- /usr/tmp/TmpDir.16028-0/linux/fs/posix_acl.c_1.2	Sun Apr 22 11:15:30 2001
+++ linux/fs/posix_acl.c	Sun Apr 22 11:06:45 2001
@@ -60,6 +60,7 @@
 	int		 error;
 	struct nameidata nd;
 	struct dentry	 *dentry = NULL;
+	struct file *f;
 
 	if (path == NULL && fdes == -1)
 		return -EINVAL;
@@ -78,7 +79,7 @@
 			dentry = nd.dentry;
 	}
 	else {
-		struct file * f = fget (fdes);
+		f = fget (fdes);
 
 		if (f)
 			dentry = f->f_dentry;
@@ -100,6 +101,8 @@
 
 		if (path)
 			path_release(&nd);
+		else
+			fput(f);
 	}
 
 	unlock_kernel();
@@ -117,6 +120,7 @@
 	int		 error;
 	struct nameidata nd;
 	struct dentry	 *dentry = NULL;
+	struct file *f;
 
 	if (path == NULL && fdes == -1)
 		return -EINVAL;
@@ -135,7 +139,7 @@
 			dentry = nd.dentry;
 	}
 	else {
-		struct file * f = fget (fdes);
+		f = fget (fdes);
 
 		if (f)
 			dentry = f->f_dentry;
@@ -160,6 +164,8 @@
 
 		if (path)
 			path_release(&nd);
+		else
+			fput(f);
 	}
 
 	unlock_kernel();
