diff options
author | Paulo Alcantara <pc@cjr.nz> | 2021-07-02 11:50:54 -0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2021-07-09 12:57:05 -0500 |
commit | 03313d1c3a2f086bb60920607ab79ac8f8578306 (patch) | |
tree | 420e70c907f8cf18e5accc136e4e6eafe5c869bb /fs/cifs/cifs_dfs_ref.c | |
parent | 53d31a3ffd60176af24f2f77fb3a7e567134eb90 (diff) |
cifs: prevent NULL deref in cifs_compose_mount_options()
The optional @ref parameter might contain an NULL node_name, so
prevent dereferencing it in cifs_compose_mount_options().
Addresses-Coverity: 1476408 ("Explicit null dereferenced")
Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/cifs_dfs_ref.c')
-rw-r--r-- | fs/cifs/cifs_dfs_ref.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c index ec57cdb1590f..57f91311fdaa 100644 --- a/fs/cifs/cifs_dfs_ref.c +++ b/fs/cifs/cifs_dfs_ref.c @@ -151,6 +151,9 @@ char *cifs_compose_mount_options(const char *sb_mountdata, return ERR_PTR(-EINVAL); if (ref) { + if (WARN_ON_ONCE(!ref->node_name || ref->path_consumed < 0)) + return ERR_PTR(-EINVAL); + if (strlen(fullpath) - ref->path_consumed) { prepath = fullpath + ref->path_consumed; /* skip initial delimiter */ |