smb3: must initialize two ACL struct fields to zero
authorSteve French <stfrench@microsoft.com>
Fri, 14 Oct 2022 23:50:20 +0000 (18:50 -0500)
committerSteve French <stfrench@microsoft.com>
Sat, 15 Oct 2022 15:05:53 +0000 (10:05 -0500)
Coverity spotted that we were not initalizing Stbz1 and Stbz2 to
zero in create_sd_buf.

Addresses-Coverity: 1513848 ("Uninitialized scalar variable")
Cc: <stable@vger.kernel.org>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2pdu.c

index e1162217ad1a641b98ba34288592f52dae2b1ee5..f8f89ff96c5d1a2af21ffc5c7c9247f18ea20aa3 100644 (file)
@@ -2420,7 +2420,7 @@ create_sd_buf(umode_t mode, bool set_owner, unsigned int *len)
        unsigned int acelen, acl_size, ace_count;
        unsigned int owner_offset = 0;
        unsigned int group_offset = 0;
-       struct smb3_acl acl;
+       struct smb3_acl acl = {};
 
        *len = round_up(sizeof(struct crt_sd_ctxt) + (sizeof(struct cifs_ace) * 4), 8);
 
@@ -2493,6 +2493,7 @@ create_sd_buf(umode_t mode, bool set_owner, unsigned int *len)
        acl.AclRevision = ACL_REVISION; /* See 2.4.4.1 of MS-DTYP */
        acl.AclSize = cpu_to_le16(acl_size);
        acl.AceCount = cpu_to_le16(ace_count);
+       /* acl.Sbz1 and Sbz2 MBZ so are not set here, but initialized above */
        memcpy(aclptr, &acl, sizeof(struct smb3_acl));
 
        buf->ccontext.DataLength = cpu_to_le32(ptr - (__u8 *)&buf->sd);