s3: smbd: Ensure init_smb1_request() zeros out what the incoming pointer points to.
authorJeremy Allison <jra@samba.org>
Sat, 12 Aug 2023 00:28:53 +0000 (17:28 -0700)
committerJule Anger <janger@samba.org>
Thu, 17 Aug 2023 12:23:05 +0000 (12:23 +0000)
Remove the now unneeded req->xxx = NULL assignments (and the
deliberately bogus req->session = (void *)0xDEADBEEF one
used to demonstrate the bug).

Remove knownfail.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Tue Aug 15 12:06:36 UTC 2023 on atb-devel-224

(Back-ported from commit 4145bfb1b5a3639caf26a310d612aec29fc00117)

Autobuild-User(v4-17-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-17-test): Thu Aug 17 12:23:05 UTC 2023 on sn-devel-184

selftest/knownfail.d/smb1_negprot_tcon [deleted file]
source3/smbd/smb2_process.c

diff --git a/selftest/knownfail.d/smb1_negprot_tcon b/selftest/knownfail.d/smb1_negprot_tcon
deleted file mode 100644 (file)
index 4f62094..0000000
+++ /dev/null
@@ -1 +0,0 @@
-^samba3.smbtorture_s3.smb1.SMB1-NEGOTIATE-TCON.smbtorture\(fileserver_smb1\)
index e003cbaf48108144cbd11b96eb00c57712cc5fd2..11f556c88acef88416e24b35270f436299a452a8 100644 (file)
@@ -764,6 +764,8 @@ bool init_smb1_request(struct smb_request *req,
                return false;
        }
 
+       *req = (struct smb_request) { .cmd = 0};
+
        req->request_time = timeval_current();
        now = timeval_to_nttime(&req->request_time);
 
@@ -782,18 +784,13 @@ bool init_smb1_request(struct smb_request *req,
        req->encrypted = encrypted;
        req->sconn = sconn;
        req->xconn = xconn;
-       req->conn = NULL;
        if (xconn != NULL) {
                status = smb1srv_tcon_lookup(xconn, req->tid, now, &tcon);
                if (NT_STATUS_IS_OK(status)) {
                        req->conn = tcon->compat;
                }
        }
-       req->chain_fsp = NULL;
-       req->smb2req = NULL;
-       req->chain = NULL;
        req->posix_pathnames = lp_posix_pathnames();
-       req->session = (void *)0xDEADBEEF;
        smb_init_perfcount_data(&req->pcd);
 
        /* Ensure we have at least wct words and 2 bytes of bcc. */
@@ -813,7 +810,6 @@ bool init_smb1_request(struct smb_request *req,
                return false;
        }
 
-       req->outbuf = NULL;
        return true;
 }