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>
This commit is contained in:
parent
769415c611
commit
17e18ab6ff
1 changed files with 2 additions and 1 deletions
|
@ -865,7 +865,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
|
||||||
if (is_bdev) {
|
if (is_bdev) {
|
||||||
fc->destroy_req = fuse_request_alloc();
|
fc->destroy_req = fuse_request_alloc();
|
||||||
if (!fc->destroy_req)
|
if (!fc->destroy_req)
|
||||||
goto err_put_root;
|
goto err_free_init_req;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&fuse_mutex);
|
mutex_lock(&fuse_mutex);
|
||||||
|
@ -895,6 +895,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
|
||||||
|
|
||||||
err_unlock:
|
err_unlock:
|
||||||
mutex_unlock(&fuse_mutex);
|
mutex_unlock(&fuse_mutex);
|
||||||
|
err_free_init_req:
|
||||||
fuse_request_free(init_req);
|
fuse_request_free(init_req);
|
||||||
err_put_root:
|
err_put_root:
|
||||||
dput(root_dentry);
|
dput(root_dentry);
|
||||||
|
|
Loading…
Add table
Reference in a new issue