From 21fd4aed5425f499d3a8d289442752fd083984f2 Mon Sep 17 00:00:00 2001 From: yangbiao59 Date: Fri, 25 Jul 2025 10:13:25 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A4=84=E7=90=86dup=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangbiao59 --- interfaces/kits/js/src/mod_fs/properties/dup.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interfaces/kits/js/src/mod_fs/properties/dup.cpp b/interfaces/kits/js/src/mod_fs/properties/dup.cpp index 77d71f738..de2de57d3 100644 --- a/interfaces/kits/js/src/mod_fs/properties/dup.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/dup.cpp @@ -51,6 +51,7 @@ napi_value Dup::Sync(napi_env env, napi_callback_info info) new (std::nothrow) uv_fs_t, CommonFunc::fs_req_cleanup }; if (!readlink_req) { HILOGE("Failed to request heap memory."); + close(dstFd); NError(ENOMEM).ThrowErr(env); return nullptr; } @@ -58,6 +59,7 @@ napi_value Dup::Sync(napi_env env, napi_callback_info info) int ret = uv_fs_readlink(nullptr, readlink_req.get(), path.c_str(), nullptr); if (ret < 0) { HILOGE("Failed to readlink fd, ret: %{public}d", ret); + close(dstFd); NError(ret).ThrowErr(env); return nullptr; } -- Gitee From d9e40f21b60a446a2ce58dae8308fe4c2c969c72 Mon Sep 17 00:00:00 2001 From: yangbiao59 Date: Wed, 30 Jul 2025 01:45:03 +0000 Subject: [PATCH 2/3] c Signed-off-by: yangbiao59 --- interfaces/kits/js/src/mod_fs/properties/dup_core.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interfaces/kits/js/src/mod_fs/properties/dup_core.cpp b/interfaces/kits/js/src/mod_fs/properties/dup_core.cpp index 716205149..17d099d13 100644 --- a/interfaces/kits/js/src/mod_fs/properties/dup_core.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/dup_core.cpp @@ -52,12 +52,14 @@ FsResult DupCore::DoDup(const int32_t &fd) new (std::nothrow) uv_fs_t, FsUtils::FsReqCleanup }; if (!readLinkReq) { HILOGE("Failed to request heap memory."); + close(dstFd); return FsResult::Error(ENOMEM); } string path = "/proc/self/fd/" + to_string(dstFd); int ret = uv_fs_readlink(nullptr, readLinkReq.get(), path.c_str(), nullptr); if (ret < 0) { HILOGE("Failed to readlink fd, ret: %{public}d", ret); + close(dstFd); return FsResult::Error(ret); } return FileInstantiator::InstantiateFile(dstFd, string(static_cast(readLinkReq->ptr)), false); -- Gitee From 46ec904fba670395de4ed43482a15c51c500192e Mon Sep 17 00:00:00 2001 From: yangbiao59 Date: Wed, 30 Jul 2025 06:51:44 +0000 Subject: [PATCH 3/3] add Signed-off-by: yangbiao59 --- .../kits/js/src/mod_fs/properties/ani/connectdfs_ani.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/connectdfs_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/connectdfs_ani.cpp index da3f63b52..416a6808e 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/connectdfs_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/connectdfs_ani.cpp @@ -35,7 +35,13 @@ void ConnectDfsAni::ConnectDfsSync(ani_env *env, [[maybe_unused]] ani_class claz ErrorHandler::Throw(env, E_PARAMS); return; } + sptr anidfslistener_(new(std::nothrow) ANIDfsListener()); + if (!anidfslistener_) { + HILOGE("failed to new ANIDfsListener"); + ErrorHandler::Throw(env, E_NOMEM); + return; + } anidfslistener_->SetConnectDfsEnv(env); ani_ref promiseDeferred = nullptr; -- Gitee