diff options
author | Xi Wang <xi.wang@gmail.com> | 2013-01-04 03:22:57 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-01-04 10:54:43 -0500 |
commit | e25fbe380c4e3c09afa98bcdcd9d3921443adab8 (patch) | |
tree | 91aeee4cfe6cfa4a07e2373d7d1f4d3d65b0b549 /fs/nfs/super.c | |
parent | 39e88fcfb1d5c6c4b1ff76ca2ab76cf449b850e8 (diff) |
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.").
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/super.c')
-rw-r--r-- | fs/nfs/super.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index c25cadf8f8c4..2e7e8c878e5d 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) | |||
1152 | { | 1152 | { |
1153 | kfree(*option); | 1153 | kfree(*option); |
1154 | *option = match_strdup(args); | 1154 | *option = match_strdup(args); |
1155 | return !option; | 1155 | return !*option; |
1156 | } | 1156 | } |
1157 | 1157 | ||
1158 | static int nfs_get_option_ul(substring_t args[], unsigned long *option) | 1158 | static int nfs_get_option_ul(substring_t args[], unsigned long *option) |