diff options
author | Julia Lawall <julia@diku.dk> | 2008-10-16 16:08:56 +0200 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2008-10-16 16:08:56 +0200 |
commit | 17e18ab6ff6ec44e95514c7346d2cbd0363ef640 (patch) | |
tree | db4eeaa3b77c86d70feed64f1955cf545b0ff53a /fs/fuse | |
parent | 769415c61191bc860f60c6edc3cb7cba24fb3218 (diff) | |
download | lwn-17e18ab6ff6ec44e95514c7346d2cbd0363ef640.tar.gz lwn-17e18ab6ff6ec44e95514c7346d2cbd0363ef640.zip |
fuse: add missing fuse_request_free
The error handling code for the second call to fuse_request_alloc should
include freeing the result of the first one.
This bug was found by the Coccinelle project:
http://www.emn.fr/x-info/coccinelle/
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse')
-rw-r--r-- | fs/fuse/inode.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 6a84388cacff..54b1f0e1ef58 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -865,7 +865,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) if (is_bdev) { fc->destroy_req = fuse_request_alloc(); if (!fc->destroy_req) - goto err_put_root; + goto err_free_init_req; } mutex_lock(&fuse_mutex); @@ -895,6 +895,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) err_unlock: mutex_unlock(&fuse_mutex); + err_free_init_req: fuse_request_free(init_req); err_put_root: dput(root_dentry); |