]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: Fix memory leak in smbd_server_connection_terminate_done().
authorJeremy Allison <jra@samba.org>
Thu, 15 Sep 2022 00:05:05 +0000 (17:05 -0700)
committerJule Anger <janger@samba.org>
Wed, 28 Sep 2022 09:36:41 +0000 (09:36 +0000)
The function smbd_server_connection_terminate_done() does not free subreq
which is allocated in smbXsrv_connection_shutdown_send, this can be a
memory leakage if multi-channel is enabled.

Suggested fix by haihua yang <hhyangdev@gmail.com>

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15174

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <noel.power@suse.com>
Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Fri Sep 23 09:51:20 UTC 2022 on sn-devel-184

(cherry picked from commit b600b0c8d9690cb5eeded1e5925c8e667c11af04)

Autobuild-User(v4-15-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-15-test): Wed Sep 28 09:36:41 UTC 2022 on sn-devel-184

source3/smbd/smb2_server.c

index 0e4b98f8c359f3a1a314110d235393adb6ca881e..1d6927aad22ef2d9ff52bf290c7e980249e644b8 100644 (file)
@@ -1642,6 +1642,7 @@ static void smbd_server_connection_terminate_done(struct tevent_req *subreq)
        NTSTATUS status;
 
        status = smbXsrv_connection_shutdown_recv(subreq);
+       TALLOC_FREE(subreq);
        if (!NT_STATUS_IS_OK(status)) {
                exit_server("smbXsrv_connection_shutdown_recv failed");
        }