summaryrefslogtreecommitdiff
path: root/net/9p
diff options
context:
space:
mode:
authorSimon Derr <simon.derr@bull.net>2014-03-11 10:14:15 +0100
committerEric Van Hensbergen <ericvh@gmail.com>2014-03-25 16:38:19 -0500
commit8a5daf1e2c199746767d94b4036638ba11d528b3 (patch)
treeb83a433f7d4662f807dc74677e68a70186542b38 /net/9p
parent263c582888d3cd2a5c8e32225140723ec31f1709 (diff)
downloadlinux-exynos-8a5daf1e2c199746767d94b4036638ba11d528b3.tar.gz
linux-exynos-8a5daf1e2c199746767d94b4036638ba11d528b3.tar.bz2
linux-exynos-8a5daf1e2c199746767d94b4036638ba11d528b3.zip
9pnet_rdma: check token type before int conversion
When parsing options, make sure we have found a proper token before doing a numeric conversion. Without this check, the current code will end up following random pointers that just happened to be on the stack when this function was called, because match_token() will not touch the 'args' list unless a valid token is found. Signed-off-by: Simon Derr <simon.derr@bull.net> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p')
-rw-r--r--net/9p/trans_rdma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c
index 8f5e4f769d13..14ad43b5cf89 100644
--- a/net/9p/trans_rdma.c
+++ b/net/9p/trans_rdma.c
@@ -193,6 +193,8 @@ static int parse_opts(char *params, struct p9_rdma_opts *opts)
if (!*p)
continue;
token = match_token(p, tokens, args);
+ if (token == Opt_err)
+ continue;
r = match_int(&args[0], &option);
if (r < 0) {
p9_debug(P9_DEBUG_ERROR,