]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: client: Add check for next_buffer in receive_encrypted_standard()
authorHaoxiang Li <haoxiang_li2024@163.com>
Mon, 17 Feb 2025 07:20:38 +0000 (15:20 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:47:35 +0000 (12:47 +0100)
[ Upstream commit 860ca5e50f73c2a1cef7eefc9d39d04e275417f7 ]

Add check for the return value of cifs_buf_get() and cifs_small_buf_get()
in receive_encrypted_standard() to prevent null pointer dereference.

Fixes: eec04ea11969 ("smb: client: fix OOB in receive_encrypted_standard()")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/cifs/smb2ops.c

index 68f93de2b152774db832971c7b0a523db4c5ed85..70a4d101b5428f0ad04af43d9f003589eb2875a0 100644 (file)
@@ -4938,6 +4938,10 @@ one_more:
                        next_buffer = (char *)cifs_buf_get();
                else
                        next_buffer = (char *)cifs_small_buf_get();
+               if (!next_buffer) {
+                       cifs_server_dbg(VFS, "No memory for (large) SMB response\n");
+                       return -1;
+               }
                memcpy(next_buffer, buf + next_cmd, pdu_length - next_cmd);
        }