summaryrefslogtreecommitdiffstats
path: root/fs/affs
diff options
context:
space:
mode:
authorChengguang Xu <cgxu519@gmx.com>2018-05-22 12:24:25 +0800
committerDavid Sterba <dsterba@suse.com>2018-05-28 12:36:41 +0200
commit84ae6f829fc2b23dd4985ab059cddfd4a1ccc14f (patch)
tree24b09f9e02ad881459cd15cc891a2ad6c2c4043c /fs/affs
parentb50694381cfc22dce3a60a291cdae294a5e5777c (diff)
downloadlinux-stable-84ae6f829fc2b23dd4985ab059cddfd4a1ccc14f.tar.gz
linux-stable-84ae6f829fc2b23dd4985ab059cddfd4a1ccc14f.tar.bz2
linux-stable-84ae6f829fc2b23dd4985ab059cddfd4a1ccc14f.zip
affs: fix potential memory leak when parsing option 'prefix'
When specifying option 'prefix' multiple times, current option parsing will cause memory leak. Hence, call kfree for previous one in this case. Signed-off-by: Chengguang Xu <cgxu519@gmx.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/affs')
-rw-r--r--fs/affs/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/affs/super.c b/fs/affs/super.c
index e602619aed9d..d1ad11a8a4a5 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -241,6 +241,7 @@ parse_options(char *options, kuid_t *uid, kgid_t *gid, int *mode, int *reserved,
affs_set_opt(*mount_opts, SF_NO_TRUNCATE);
break;
case Opt_prefix:
+ kfree(*prefix);
*prefix = match_strdup(&args[0]);
if (!*prefix)
return 0;