diff options
-rw-r--r-- | source3/smbd/smb2_server.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 4949fd2acc..0e42b7fdf7 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -1870,6 +1870,15 @@ NTSTATUS smbd_smb2_request_verify_sizes(struct smbd_smb2_request *req, case SMB2_OP_GETINFO: min_dyn_size = 0; break; + case SMB2_OP_WRITE: + if (req->smb1req != NULL && req->smb1req->unread_bytes > 0) { + if (req->smb1req->unread_bytes < min_dyn_size) { + return NT_STATUS_INVALID_PARAMETER; + } + + min_dyn_size = 0; + } + break; } /* |