s3:smb2_server: prepare smbd_smb2_request_verify_sizes() for the optimized recvfile...
authorStefan Metzmacher <metze@samba.org>
Mon, 18 Nov 2013 12:46:10 +0000 (13:46 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 12 Mar 2014 23:04:39 +0000 (00:04 +0100)
For recvfile we haven't read and may not allocated the dyn buffer.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/smbd/smb2_server.c

index 3c46efd7e60c2ef8b4c40d9d42b0f7b6fa8af11e..d6598127ca8f8f5659746bb0ba5571a000449ce2 100644 (file)
@@ -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;
        }
 
        /*