ksmbd: uninitialized variable in create_socket()
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 15 Jan 2022 11:49:00 +0000 (14:49 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:02:52 +0000 (11:02 +0100)
commit b207602fb04537cb21ac38fabd7577eca2fa05ae upstream.

The "ksmbd_socket" variable is not initialized on this error path.

Cc: stable@vger.kernel.org
Fixes: 0626e6641f6b ("cifsd: add server handler for central processing and tranport layers")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ksmbd/transport_tcp.c

index c14320e..82a1429 100644 (file)
@@ -404,7 +404,7 @@ static int create_socket(struct interface *iface)
                                  &ksmbd_socket);
                if (ret) {
                        pr_err("Can't create socket for ipv4: %d\n", ret);
-                       goto out_error;
+                       goto out_clear;
                }
 
                sin.sin_family = PF_INET;
@@ -462,6 +462,7 @@ static int create_socket(struct interface *iface)
 
 out_error:
        tcp_destroy_socket(ksmbd_socket);
+out_clear:
        iface->ksmbd_socket = NULL;
        return ret;
 }