summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXi Wang <xi.wang@gmail.com>2013-01-04 03:22:57 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-11 09:06:56 -0800
commit042cf2fb1d2ac4b4b27b2ccc4ac317a2f53df3c3 (patch)
treebbce5817e153568d44ff0c927c0461bf57deabe2
parent59d6ce4370c17dbd3db789740a036f158e8ba9a0 (diff)
downloadlinux-3.10-042cf2fb1d2ac4b4b27b2ccc4ac317a2f53df3c3.tar.gz
linux-3.10-042cf2fb1d2ac4b4b27b2ccc4ac317a2f53df3c3.tar.bz2
linux-3.10-042cf2fb1d2ac4b4b27b2ccc4ac317a2f53df3c3.zip
nfs: fix null checking in nfs_get_option_str()
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@gmail.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/nfs/super.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index feabe7a394c..c252161e7b1 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1138,7 +1138,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)