diff options
author | Chengguang Xu <cgxu519@gmx.com> | 2018-04-14 15:16:06 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-06-20 22:02:41 +0300 |
commit | ba041775a9a8291327f958d6337d130217de1bee (patch) | |
tree | 80c07fff2c76e681f3bfdbb73098399ec4a412e9 /fs/isofs | |
parent | d27cd5cb9b384803d69204b07b447e9abe32f127 (diff) | |
download | linux-ba041775a9a8291327f958d6337d130217de1bee.tar.xz |
isofs: fix potential memory leak in mount option parsing
[ Upstream commit 4f34a5130a471f32f2fe7750769ab4057dc3eaa0 ]
When specifying string type mount option (e.g., iocharset)
several times in a mount, current option parsing may
cause memory leak. Hence, call kfree for previous one
in this case. Meanwhile, check memory allocation result
for it.
Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/isofs')
-rw-r--r-- | fs/isofs/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index 447a24d77b89..ed4edcd2bc56 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c @@ -394,7 +394,10 @@ static int parse_options(char *options, struct iso9660_options *popt) break; #ifdef CONFIG_JOLIET case Opt_iocharset: + kfree(popt->iocharset); popt->iocharset = match_strdup(&args[0]); + if (!popt->iocharset) + return 0; break; #endif case Opt_map_a: |