| 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: |