[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1521614889-73446-1-git-send-email-cgxu519@gmx.com>
Date: Wed, 21 Mar 2018 14:48:09 +0800
From: Chengguang Xu <cgxu519@....com>
To: ericvh@...il.com, rminnich@...dia.gov, lucho@...kov.net
Cc: v9fs-developer@...ts.sourceforge.net, linux-kernel@...r.kernel.org,
Chengguang Xu <cgxu519@....com>
Subject: [PATCH] 9p: check memory allocation result for cachetag
Check memory allocation result for cachetag in mount option
parsing and fix potential memory leak in the error case.
Signed-off-by: Chengguang Xu <cgxu519@....com>
---
fs/9p/v9fs.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index 8fb89dd..e622f0f 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -292,6 +292,10 @@ static int v9fs_parse_options(struct v9fs_session_info *v9ses, char *opts)
#ifdef CONFIG_9P_FSCACHE
kfree(v9ses->cachetag);
v9ses->cachetag = match_strdup(&args[0]);
+ if (!v9ses->cachetag) {
+ ret = -ENOMEM;
+ goto free_and_return;
+ }
#endif
break;
case Opt_cache:
@@ -471,6 +475,9 @@ struct p9_fid *v9fs_session_init(struct v9fs_session_info *v9ses,
return fid;
err_clnt:
+#ifdef CONFIG_9P_FSCACHE
+ kfree(v9ses->cachetag);
+#endif
p9_client_destroy(v9ses->clnt);
err_names:
kfree(v9ses->uname);
--
1.8.3.1
Powered by blists - more mailing lists