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 07b6eef169ecf1b47f5540f13bf036fbd8c7dc0d..08034bb66cbf566f3d8f98500b4ec5a161f4644a 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 @@ -114,6 +114,8 @@ ani_object AtomicFileAni::GetBaseFile(ani_env *env, [[maybe_unused]] ani_object auto result = FileWrapper::Wrap(env, move(fsFile)); if (result == nullptr) { HILOGE("Failed to wrap"); + delete fsFile; + fsFile = nullptr; ErrorHandler::Throw(env, UNKNOWN_ERR); return nullptr; } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/dup_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/dup_ani.cpp index 22c002243e45cb58b9dac253eec37acbc6d7feca..b0ac55ae91befb06e260679a441b3766231c201d 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/dup_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/dup_ani.cpp @@ -40,6 +40,8 @@ ani_object DupAni::Dup(ani_env *env, [[maybe_unused]] ani_class clazz, ani_doubl const FsFile *file = ret.GetData().value(); auto result = FileWrapper::Wrap(env, move(file)); if (result == nullptr) { + delete file; + file = nullptr; ErrorHandler::Throw(env, UNKNOWN_ERR); return nullptr; } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/fdopen_stream_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/fdopen_stream_ani.cpp index 3ade60f9dc51278c5d30d452011ae4d6926618b5..e2726b579e6ecf9b552457eda2b83c3be6c9cd3b 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/fdopen_stream_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/fdopen_stream_ani.cpp @@ -50,6 +50,8 @@ ani_object FdopenStreamAni::FdopenStreamSync( const FsStream *stream = ret.GetData().value(); auto result = StreamWrapper::Wrap(env, move(stream)); if (result == nullptr) { + delete stream; + stream = nullptr; ErrorHandler::Throw(env, UNKNOWN_ERR); return nullptr; } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/read_lines_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/read_lines_ani.cpp index 10c3ce394cbca152b0576a82b45d521f9f23fc9f..694b0968386de2dd03031539b5cd803b999b382d 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/read_lines_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/read_lines_ani.cpp @@ -76,6 +76,8 @@ ani_object ReadLinesAni::ReadLinesSync( const FsReaderIterator *readerIterator = ret.GetData().value(); auto result = ReaderIteratorAni::Wrap(env, move(readerIterator)); if (result == nullptr) { + delete readerIterator; + readerIterator = nullptr; ErrorHandler::Throw(env, UNKNOWN_ERR); return nullptr; }