[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <38b17aef-db48-0258-3086-206659d2da85@gmx.com>
Date: Thu, 21 Jun 2018 10:14:47 +0800
From: cgxu519 <cgxu519@....com>
To: ooo@...ctrozaur.com
Cc: linux-kernel@...r.kernel.org, cgxu519@....com
Subject: Re: [PATCH 1/2] fs/exofs: fix potential memory leak in mount option
parsing
Hi Boaz,
Could you have a look at this trivial patch?
Thanks,
Chengguang.
On 06/13/2018 12:05 PM, Chengguang Xu wrote:
> There are some cases can cause memory leak when parsing
> option 'osdname'.
>
> Signed-off-by: Chengguang Xu <cgxu519@....com>
> ---
> fs/exofs/super.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/fs/exofs/super.c b/fs/exofs/super.c
> index 719a315..f3e17a9 100644
> --- a/fs/exofs/super.c
> +++ b/fs/exofs/super.c
> @@ -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");
> @@ -867,8 +868,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;
Powered by blists - more mailing lists