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

Commit b45cb181 authored by Chengguang Xu's avatar Chengguang Xu Committed by Greg Kroah-Hartman
Browse files

fs/exofs: fix potential memory leak in mount option parsing



[ Upstream commit 515f1867addaba49c1c6ac73abfaffbc192c1db4 ]

There are some cases can cause memory leak when parsing
option 'osdname'.

Signed-off-by: default avatarChengguang Xu <cgxu519@gmx.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 6d4c882c
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ static int parse_options(char *options, struct exofs_mountopt *opts)
		token = match_token(p, tokens, args);
		switch (token) {
		case Opt_name:
			kfree(opts->dev_name);
			opts->dev_name = match_strdup(&args[0]);
			if (unlikely(!opts->dev_name)) {
				EXOFS_ERR("Error allocating dev_name");
@@ -868,8 +869,10 @@ static struct dentry *exofs_mount(struct file_system_type *type,
	int ret;

	ret = parse_options(data, &opts);
	if (ret)
	if (ret) {
		kfree(opts.dev_name);
		return ERR_PTR(ret);
	}

	if (!opts.dev_name)
		opts.dev_name = dev_name;