[PATCH 206/222] nfs: fix null checking in nfs_get_option_str()

Herton Ronaldo Krzesinski herton.krzesinski at canonical.com
Wed Jan 16 15:56:46 UTC 2013


3.5.7.3 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Xi Wang <xi.wang at gmail.com>

commit e25fbe380c4e3c09afa98bcdcd9d3921443adab8 upstream.

The following null pointer check is broken.

	*option = match_strdup(args);
	return !option;

The pointer `option' must be non-null, and thus `!option' is always false.
Use `!*option' instead.

The bug was introduced in commit c5cb09b6f8 ("Cleanup: Factor out some
cut-and-paste code.").

Signed-off-by: Xi Wang <xi.wang at gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>
Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski at canonical.com>
---
 fs/nfs/super.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index d09f196..2292f7e 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1148,7 +1148,7 @@ static int nfs_get_option_str(substring_t args[], char **option)
 {
 	kfree(*option);
 	*option = match_strdup(args);
-	return !option;
+	return !*option;
 }
 
 static int nfs_get_option_ul(substring_t args[], unsigned long *option)
-- 
1.7.9.5





More information about the kernel-team mailing list