summaryrefslogtreecommitdiff
path: root/fs/smb/server/compress.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/smb/server/compress.c')
-rw-r--r--fs/smb/server/compress.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/smb/server/compress.c b/fs/smb/server/compress.c
index f8cf515b9c30..95e48fa6b448 100644
--- a/fs/smb/server/compress.c
+++ b/fs/smb/server/compress.c
@@ -56,7 +56,8 @@ int ksmbd_decompress_request(struct ksmbd_conn *conn)
}
max_allowed_pdu_size = SMB3_MAX_MSGSIZE + conn->vals->max_write_size;
- if (out_size > max_allowed_pdu_size ||
+ if (out_size < sizeof(struct smb2_pdu) ||
+ out_size > max_allowed_pdu_size ||
out_size > MAX_STREAM_PROT_LEN)
return -EINVAL;