diff --git a/interfaces/kits/js/src/mod_fs/properties/dup.cpp b/interfaces/kits/js/src/mod_fs/properties/dup.cpp index 77d71f7384a35fdd90da992eb92e5b4d5c824225..de2de57d37c2a1b8361bd4d21fd72a67690f3936 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; }