Patchwork [9P,2/2] net/9p: Fix crash due to bad mount parameters.

login
register
mail settings
Submitter Abhishek Kulkarni
Date July 1, 2009, 6:50 p.m.
Message ID <1246474254-10401-2-git-send-email-adkulkar@umail.iu.edu>
Download mbox | patch
Permalink /patch/29363/
State Accepted
Delegated to: David Miller
Headers show

Comments

Abhishek Kulkarni - July 1, 2009, 6:50 p.m.
It is not safe to use match_int without checking the token type returned
by match_token (especially when the token type returned is Opt_err and
args is empty). Fix it.

Signed-off-by: Abhishek Kulkarni <adkulkar@umail.iu.edu>
---
:100644 100644 c613ed08.. b884d98... M	net/9p/trans_fd.c
 net/9p/trans_fd.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
David Miller - July 2, 2009, 8:18 p.m.
From: Abhishek Kulkarni <adkulkar@umail.iu.edu>
Date: Wed,  1 Jul 2009 12:50:54 -0600

> It is not safe to use match_int without checking the token type returned
> by match_token (especially when the token type returned is Opt_err and
> args is empty). Fix it.
> 
> Signed-off-by: Abhishek Kulkarni <adkulkar@umail.iu.edu>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index c613ed0..b884d98 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -731,12 +731,14 @@  static int parse_opts(char *params, struct p9_fd_opts *opts)
 		if (!*p)
 			continue;
 		token = match_token(p, tokens, args);
-		r = match_int(&args[0], &option);
-		if (r < 0) {
-			P9_DPRINTK(P9_DEBUG_ERROR,
-			 "integer field, but no integer?\n");
-			ret = r;
-			continue;
+		if (token != Opt_err) {
+			r = match_int(&args[0], &option);
+			if (r < 0) {
+				P9_DPRINTK(P9_DEBUG_ERROR,
+				"integer field, but no integer?\n");
+				ret = r;
+				continue;
+			}
 		}
 		switch (token) {
 		case Opt_port: