smbXsrv_session_add_channel check smbXsrv_session_find_channel
authorStefan Metzmacher <metze@samba.org>
Fri, 4 Oct 2019 09:15:58 +0000 (11:15 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 28 Jan 2020 12:26:51 +0000 (13:26 +0100)
source3/smbd/smbXsrv_session.c

index b0222c9a033022a33e71d698e4e92dd41b677ddb..b61d27d1787ad226d9002f9ec9d2123546ea9cc3 100644 (file)
@@ -1343,6 +1343,13 @@ NTSTATUS smbXsrv_session_add_channel(struct smbXsrv_session *session,
 {
        struct smbXsrv_session_global0 *global = session->global;
        struct smbXsrv_channel_global0 *c = NULL;
+       NTSTATUS status;
+
+       DBG_ERR("client[%p] xconn[%p]\n", conn->client, conn);
+       status = smbXsrv_session_find_channel(session, conn, &c);
+       if (!NT_STATUS_EQUAL(status, NT_STATUS_USER_SESSION_DELETED)) {
+               return NT_STATUS_INTERNAL_ERROR;
+       }
 
        if (global->num_channels > 31) {
                /*