cifs: missing null check for newinode pointer
authorSteve French <stfrench@microsoft.com>
Wed, 23 Jun 2021 00:53:08 +0000 (19:53 -0500)
committerSteve French <stfrench@microsoft.com>
Thu, 24 Jun 2021 00:24:30 +0000 (19:24 -0500)
in cifs_do_create we check if newinode is valid before referencing it
but are missing the check in one place in fs/cifs/dir.c

Addresses-Coverity: 1357292 ("Dereference after null check")
Acked-by: Sachin Prabhu <sprabhu@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/dir.c

index 9123330..79402ca 100644 (file)
@@ -384,10 +384,11 @@ cifs_create_set_dentry:
                goto out_err;
        }
 
-       if (S_ISDIR(newinode->i_mode)) {
-               rc = -EISDIR;
-               goto out_err;
-       }
+       if (newinode)
+               if (S_ISDIR(newinode->i_mode)) {
+                       rc = -EISDIR;
+                       goto out_err;
+               }
 
        d_drop(direntry);
        d_add(direntry, newinode);