diff options
Diffstat (limited to 'source3/smbd/smb2_ioctl.c')
-rw-r--r-- | source3/smbd/smb2_ioctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c index 9ff6c8ea979..a1f28856680 100644 --- a/source3/smbd/smb2_ioctl.c +++ b/source3/smbd/smb2_ioctl.c @@ -83,8 +83,10 @@ NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req) in_input_buffer.data = (uint8_t *)req->in.vector[i+2].iov_base; in_input_buffer.length = in_input_length; - if (in_file_id_persistent == UINT64_MAX && - in_file_id_volatile == UINT64_MAX) { + if (req->compat_chain_fsp) { + /* skip check */ + } else if (in_file_id_persistent == UINT64_MAX && + in_file_id_volatile == UINT64_MAX) { /* without a handle */ } else if (in_file_id_persistent != 0) { return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED); |