2018-04-14 12:21:00

by Chengguang Xu

[permalink] [raw]
Subject: [PATCH] exofs: fix potential memory leak in mount option parsing

When specifying string type mount option several times
in a mount, current option parsing may cause memory leak.
Hence, call kfree for previous one in this case.

Signed-off-by: Chengguang Xu <[email protected]>
---
fs/exofs/super.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/exofs/super.c b/fs/exofs/super.c
index 179cd5c..106b818 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");
--
1.8.3.1