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 08034bb66cbf566f3d8f98500b4ec5a161f4644a..bae624ad1ecf5f3a7256eb9183b7291aa058d90d 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,11 +280,13 @@ 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; } + close(fd); ani_object writeStream = CreateStream(env, object, WRITE_STREAM_CLASS, entity->newFileName); if (writeStream == nullptr) { 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 21200a84226f2b0370ef0f13535cb9fc51f2688d..a9b81c412bb4a18b694ba0d3b1e859152a27d337 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,10 +159,12 @@ 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); }