diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/smb2_ioctl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c index b1a9e32f36..37acf11767 100644 --- a/source3/smbd/smb2_ioctl.c +++ b/source3/smbd/smb2_ioctl.c @@ -417,6 +417,11 @@ static struct tevent_req *smbd_smb2_ioctl_send(TALLOC_CTX *mem_ctx, in_security_mode = SVAL(in_input.data, 0x14); in_max_dialect = SVAL(in_input.data, 0x16); + status = GUID_from_ndr_blob(&in_guid_blob, &in_guid); + if (tevent_req_nterror(req, status)) { + return tevent_req_post(req, ev); + } + max_dialect = conn->smb2.client.dialects[conn->smb2.client.num_dialects-1]; if (in_max_dialect != max_dialect) { state->disconnect = true; @@ -494,6 +499,11 @@ static struct tevent_req *smbd_smb2_ioctl_send(TALLOC_CTX *mem_ctx, return tevent_req_post(req, ev); } + status = GUID_from_ndr_blob(&in_guid_blob, &in_guid); + if (tevent_req_nterror(req, status)) { + return tevent_req_post(req, ev); + } + if (in_num_dialects != conn->smb2.client.num_dialects) { state->disconnect = true; tevent_req_nterror(req, NT_STATUS_ACCESS_DENIED); |