nfs: fix null checking in nfs_get_option_str()
authorXi Wang <xi.wang@gmail.com>
Fri, 4 Jan 2013 08:22:57 +0000 (03:22 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 4 Jan 2013 15:54:43 +0000 (10:54 -0500)
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>
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/super.c

index c25cadf8f8c4a5d58bf02bce527939c7875e5474..2e7e8c878e5d157418e91a3ce742b8810168c5d3 100644 (file)
@@ -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)