blob: 5dae34e944ccaf7d8f0414dafda5bc394af3ab61 [file] [log] [blame]
From foo@baz Sun Jun 17 12:07:33 CEST 2018
From: Chengguang Xu <cgxu519@gmx.com>
Date: Sat, 14 Apr 2018 20:16:06 +0800
Subject: isofs: fix potential memory leak in mount option parsing
From: Chengguang Xu <cgxu519@gmx.com>
[ 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>
---
fs/isofs/inode.c | 3 +++
1 file changed, 3 insertions(+)
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -394,7 +394,10 @@ static int parse_options(char *options,
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: