diff --git a/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp b/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp index d223e8bd..7dd563f1 100644 --- a/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp +++ b/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp @@ -1043,7 +1043,7 @@ auto winfsp_drive::SetBasicInfo(PVOID /*file_node*/, PVOID file_desc, auto handle = static_cast(reinterpret_cast(file_desc)); - if (handle == 0U || not fm_->get_open_file(handle, true, file)) { + if (handle == 0U || not fm_->get_open_file(handle, false, file)) { return handle_error(api_error::invalid_handle); } @@ -1211,12 +1211,13 @@ auto winfsp_drive::Write(PVOID /*file_node*/, PVOID file_desc, PVOID buffer, } if (constrained_io != 0U) { - if (offset >= file->get_file_size()) { + auto file_size = file->get_file_size(); + if (offset >= file_size) { return handle_error(api_error::success); } - if (offset + length > file->get_file_size()) { - length = static_cast(file->get_file_size() - offset); + if (offset + length >) { + length = static_cast(file_size - offset); } }