Commit 515f1867 authored by Chengguang Xu's avatar Chengguang Xu Committed by Al Viro
Browse files

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



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>
parent 55338ac2
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -101,6 +101,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");
@@ -866,8 +867,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;