ksmbd: fix an oops in error handling in smb2_open()
authorDan Carpenter <dan.carpenter@oracle.com>
Sun, 1 Aug 2021 23:14:03 +0000 (08:14 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Sun, 1 Aug 2021 23:17:25 +0000 (08:17 +0900)
If smb2_get_name() then name is an error pointer.  In the clean up
code, we try to kfree() it and that will lead to an Oops.  Set it to
NULL instead.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/smb2pdu.c

index 209e32e61a7565c8f144daef8f9ba6c775bc5a95..636570ecfa312e3b4f7c5856c1c63d045421802a 100644 (file)
@@ -2462,6 +2462,7 @@ int smb2_open(struct ksmbd_work *work)
                        rc = PTR_ERR(name);
                        if (rc != -ENOMEM)
                                rc = -ENOENT;
+                       name = NULL;
                        goto err_out1;
                }