summaryrefslogtreecommitdiff
path: root/fs/smb/client
diff options
context:
space:
mode:
authorHaoxiang Li <haoxiang_li2024@163.com>2025-02-17 15:20:38 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-02-27 04:34:21 -0800
commit554736b583f529ee159aa95af9a0cbc12b5ffc96 (patch)
treeb3221330b262dc39a851155909e64ac485fca6d2 /fs/smb/client
parent37dda79899975cf8c62ab8f03625ed51a72e1c6b (diff)
downloadlinux-554736b583f529ee159aa95af9a0cbc12b5ffc96.tar.gz
linux-554736b583f529ee159aa95af9a0cbc12b5ffc96.tar.bz2
linux-554736b583f529ee159aa95af9a0cbc12b5ffc96.zip
smb: client: Add check for next_buffer in receive_encrypted_standard()
commit 860ca5e50f73c2a1cef7eefc9d39d04e275417f7 upstream. 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/smb/client')
-rw-r--r--fs/smb/client/smb2ops.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index a588f6b3f3b6..793e9b2b79d6 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -4964,6 +4964,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);
}