Skip to contentSkip to conversation

nfs: fix null checking in nfs_get_option_str()

PATCH Applied Xi Wang 2 participants 2 messages Jan 4, 2013

Subsystems (3)
lore
Share & tools
lore

Xi Wang

author
#0 lore raw

PATCH 1/1 nfs: fix null checking in nfs_get_option_str()

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.").

---
 fs/nfs/super.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/nfs/super.c +1 -1
index c25cadf8..2e7e8c8 100644
@@ -1152,7 +1152,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)
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 23 lines · Xi Wang

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.").

---
 fs/nfs/super.c |    2 +--
 1 file changed, 1 insertion(+-), 1 deletion(-)
fs/nfs/super.c +1 -1
index c25cadf8..2e7e8c8 100644
--- a/fs/nfs/super.c
+-+-+- b/fs/nfs/super.c

@@ -1152,7 +-1152,7 @@ static int nfs_get_option_str(substring_t args[], char **option)
{

fs/nfs/super.c static int nfs_get_option_str(substring_t args[], char **option) · line 1158

Quoted 7 lines
fs/nfs/super.c +1 -1
 	kfree(*option);
 	*option = match_strdup(args);
-	return !option;
+-	return !*option;
 }
 
 static int nfs_get_option_ul(substring_t args[], unsigned long *option)

Thank you! Applied to the bugfixes branch.

Signature · 6 lines
Trond Myklebust
Linux NFS client maintainer

NetApp
[email protected]
www.netapp.com