diff --git a/fs/nfs/fs_context.c b/fs/nfs/fs_context.c index d60c086c6e9c7286a415aeee9adf150debe25384..7e21a0ce78d6d3176bca4dcc1f4da6067bb0ba0a 100644 --- a/fs/nfs/fs_context.c +++ b/fs/nfs/fs_context.c @@ -637,6 +637,8 @@ static int nfs_fs_context_parse_param(struct fs_context *fc, return ret; break; case Opt_vers: + if (!param->string) + goto out_invalid_value; ret = nfs_parse_version_string(fc, param->string); if (ret < 0) return ret; @@ -648,6 +650,8 @@ static int nfs_fs_context_parse_param(struct fs_context *fc, break; case Opt_proto: + if (!param->string) + goto out_invalid_value; protofamily = AF_INET; switch (lookup_constant(nfs_xprt_protocol_tokens, param->string, -1)) { case Opt_xprt_udp6: @@ -681,6 +685,8 @@ static int nfs_fs_context_parse_param(struct fs_context *fc, break; case Opt_mountproto: + if (!param->string) + goto out_invalid_value; mountfamily = AF_INET; switch (lookup_constant(nfs_xprt_protocol_tokens, param->string, -1)) { case Opt_xprt_udp6: