From df34480fb530c13a85e6ee7b7d6931f03c4df8cb Mon Sep 17 00:00:00 2001 From: tianp Date: Thu, 4 Sep 2025 11:56:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=8F=8F=E8=BF=B0=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: tianp Change-Id: I381f6cdcfbaf33329e1c7c00552cb28d60734de9 --- .../js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp | 5 ++++- .../kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp b/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp index 08034bb66..55eb62deb 100644 --- a/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp @@ -280,7 +280,8 @@ ani_object AtomicFileAni::StartWrite(ani_env *env, [[maybe_unused]] ani_object o } char *tmpfile = const_cast(entity->newFileName.c_str()); - if (mkstemp(tmpfile) == -1) { + int fd = mkstemp(tmpfile); + if (fd == -1) { HILOGE("Fail to create tmp file err:%{public}d!", errno); ErrorHandler::Throw(env, ENOENT); return nullptr; @@ -292,6 +293,8 @@ ani_object AtomicFileAni::StartWrite(ani_env *env, [[maybe_unused]] ani_object o return nullptr; } + close(fd); + return writeStream; } diff --git a/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp b/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp index 21200a842..4f6576d64 100644 --- a/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp +++ b/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp @@ -159,11 +159,14 @@ FsResult FsAtomicFile::StartWrite() } char *tmpfile = const_cast(entity->newFileName.c_str()); - if (mkstemp(tmpfile) == -1) { + int fd = mkstemp(tmpfile); + if (fd == -1) { HILOGE("Fail to create tmp file err:%{public}d!", errno); return FsResult::Error(ENOENT); } + close(fd); + return FsResult::Success(entity->newFileName); } -- Gitee From 3f3dfd2b8a12c6f0d20dcee0120d680ba164ecfc Mon Sep 17 00:00:00 2001 From: tianp Date: Thu, 4 Sep 2025 17:07:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?close=E4=BD=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: tianp Change-Id: Iff36a1755abe400da85d783be4b1b4b21b46e376 --- .../kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp | 3 +-- .../kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp b/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp index 55eb62deb..bae624ad1 100644 --- a/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/class_atomicfile/ani/atomicfile_ani.cpp @@ -286,6 +286,7 @@ ani_object AtomicFileAni::StartWrite(ani_env *env, [[maybe_unused]] ani_object o ErrorHandler::Throw(env, ENOENT); return nullptr; } + close(fd); ani_object writeStream = CreateStream(env, object, WRITE_STREAM_CLASS, entity->newFileName); if (writeStream == nullptr) { @@ -293,8 +294,6 @@ ani_object AtomicFileAni::StartWrite(ani_env *env, [[maybe_unused]] ani_object o return nullptr; } - close(fd); - return writeStream; } diff --git a/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp b/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp index 4f6576d64..a9b81c412 100644 --- a/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp +++ b/interfaces/kits/js/src/mod_fs/class_atomicfile/fs_atomicfile.cpp @@ -164,7 +164,6 @@ FsResult FsAtomicFile::StartWrite() HILOGE("Fail to create tmp file err:%{public}d!", errno); return FsResult::Error(ENOENT); } - close(fd); return FsResult::Success(entity->newFileName); -- Gitee