diff options
author | Christian Ambach <ambi@samba.org> | 2012-02-27 17:51:40 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2012-03-09 16:48:16 -0800 |
commit | f6afda0bc867f1080c45e1f6f79d5032c41d2b1a (patch) | |
tree | b3d894270bad4a4e4165f95164dffef7d1497b37 /source3/smbd/smb2_write.c | |
parent | eec5ece6f59c5ff30de88af0e182c3b2f7b9579c (diff) | |
download | samba-f6afda0bc867f1080c45e1f6f79d5032c41d2b1a.tar.gz samba-f6afda0bc867f1080c45e1f6f79d5032c41d2b1a.tar.bz2 samba-f6afda0bc867f1080c45e1f6f79d5032c41d2b1a.zip |
s3:smb2_server verify creditcharge
for all requests that have max_???? checks, also do a check of the
creditcharge the client has sent (when using largemtu)
Signed-off-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd/smb2_write.c')
-rw-r--r-- | source3/smbd/smb2_write.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/smb2_write.c b/source3/smbd/smb2_write.c index b0ffd44b49..163672cdb1 100644 --- a/source3/smbd/smb2_write.c +++ b/source3/smbd/smb2_write.c @@ -88,6 +88,11 @@ NTSTATUS smbd_smb2_request_process_write(struct smbd_smb2_request *req) in_data_buffer.data = (uint8_t *)req->in.vector[i+2].iov_base; in_data_buffer.length = in_data_length; + status = smbd_smb2_request_verify_creditcharge(req, in_data_length); + if (!NT_STATUS_IS_OK(status)) { + return smbd_smb2_request_error(req, status); + } + if (req->compat_chain_fsp) { /* skip check */ } else if (in_file_id_persistent != in_file_id_volatile) { |