diff --git a/interfaces/kits/js/src/mod_fs/properties/truncate.cpp b/interfaces/kits/js/src/mod_fs/properties/truncate.cpp index 4691f446be0131cb52e5ac1670ec6c86cd16da02..1fafa81d055b15b861472abf5dfdfac1eaf835fb 100644 --- a/interfaces/kits/js/src/mod_fs/properties/truncate.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/truncate.cpp @@ -26,6 +26,7 @@ namespace OHOS::FileManagement::ModuleFileIO { using namespace std; using namespace OHOS::FileManagement::LibN; +using namespace OHOS::DistributedFS; static tuple ParseJsFile(napi_env env, napi_value pathOrFdFromJsArg) { @@ -63,13 +64,14 @@ static NError TruncateCore(napi_env env, FileInfo &fileInfo, int64_t truncateLen HILOGE("Failed to open by libuv ret %{public}d", ret); return NError(ret); } + FDGuard fd(ret); std::unique_ptr ftruncate_req = { new uv_fs_t, CommonFunc::fs_req_cleanup }; if (!ftruncate_req) { HILOGE("Failed to request heap memory."); return NError(ENOMEM); } - ret = uv_fs_ftruncate(nullptr, ftruncate_req.get(), ret, truncateLen, nullptr); + ret = uv_fs_ftruncate(nullptr, ftruncate_req.get(), fd.GetFD(), truncateLen, nullptr); if (ret < 0) { HILOGE("Failed to truncate file by path ret %{public}d", ret); return NError(ret);