]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
v9fs_vfs_mkdir(): fix a double free
authorAdrian Bunk <bunk@stusta.de>
Thu, 8 Feb 2007 22:20:38 +0000 (14:20 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Mar 2007 18:50:29 +0000 (10:50 -0800)
Fix a double free of "dfid" introduced by commit
da977b2c7eb4d6312f063a7b486f2aad99809710 and spotted by the Coverity
checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/9p/vfs_inode.c

index 9109ba1d6969e33ee180a9c4cec5bcd2339ca9f1..378767c07bf11f746d1387e11dcebc087912adbd 100644 (file)
@@ -585,17 +585,14 @@ static int v9fs_vfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
        if (IS_ERR(inode)) {
                err = PTR_ERR(inode);
                inode = NULL;
-               goto clean_up_fids;
+               v9fs_fid_destroy(vfid);
+               goto error;
        }
 
        dentry->d_op = &v9fs_dentry_operations;
        d_instantiate(dentry, inode);
        return 0;
 
-clean_up_fids:
-       if (vfid)
-               v9fs_fid_destroy(vfid);
-
 clean_up_dfid:
        v9fs_fid_clunk(v9ses, dfid);