Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ddf1e7f authored by Miklos Szeredi's avatar Miklos Szeredi Committed by Miklos Szeredi
Browse files

fuse: fix missing fput on error



Fix the leaking file reference if allocation or initialization of
fuse_conn failed.

Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
CC: stable@kernel.org
parent bb875b38
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -829,15 +829,20 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
	if (!file)
		return -EINVAL;

	if (file->f_op != &fuse_dev_operations)
	if (file->f_op != &fuse_dev_operations) {
		fput(file);
		return -EINVAL;
	}

	fc = kmalloc(sizeof(*fc), GFP_KERNEL);
	if (!fc)
	if (!fc) {
		fput(file);
		return -ENOMEM;
	}

	err = fuse_conn_init(fc, sb);
	if (err) {
		fput(file);
		kfree(fc);
		return err;
	}