diff --git a/interfaces/kits/napi/file_access_module/file_info/napi_file_info_exporter.cpp b/interfaces/kits/napi/file_access_module/file_info/napi_file_info_exporter.cpp index 952307c384b59c341a35c4bd9df4dc27eea57aff..35895ac58118cd02c1895c0e17d7f317611dce88 100644 --- a/interfaces/kits/napi/file_access_module/file_info/napi_file_info_exporter.cpp +++ b/interfaces/kits/napi/file_access_module/file_info/napi_file_info_exporter.cpp @@ -65,6 +65,11 @@ napi_value NapiFileInfoExporter::Constructor(napi_env env, napi_callback_info in } auto fileInfoEntity = std::make_unique(); + if (fileInfoEntity == nullptr) { + NError(ERR_NULL_POINTER).ThrowErr(env, "Cannot get entity of fileInfoEntity"); + return nullptr; + } + if (!NClass::SetEntityFor(env, funcArg.GetThisVar(), std::move(fileInfoEntity))) { NError(ERR_NULL_POINTER).ThrowErr(env, "INNER BUG. Failed to wrap entity for obj FileInfoEntity"); return nullptr; diff --git a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp index cbba50494aaeefb9311bb718684c1acc1db5f9a4..5055d92428dcff589775d14185a7e455ea330a7a 100644 --- a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp +++ b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp @@ -176,6 +176,11 @@ napi_value NAPI_GetFileAccessAbilityInfo(napi_env env, napi_callback_info info) } auto result = std::make_shared>(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env);; + return nullptr; + } + auto cbExec = [result]() -> NError { int ret = FileAccessHelper::GetRegisteredFileAccessExtAbilityInfo(*result); return NError(ret); @@ -304,6 +309,11 @@ napi_value NAPI_OpenFile(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string uriString(uri.get()); auto cbExec = [uriString, flags, result, fileAccessHelper]() -> NError { OHOS::Uri uri(uriString); @@ -353,6 +363,11 @@ napi_value NAPI_CreateFile(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string uriString(uri.get()); string name(displayName.get()); auto cbExec = [uriString, name, result, fileAccessHelper]() -> NError { @@ -405,6 +420,11 @@ napi_value NAPI_Mkdir(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string uriString(uri.get()); string name(displayName.get()); auto cbExec = [uriString, name, result, fileAccessHelper]() -> NError { @@ -457,6 +477,11 @@ napi_value NAPI_Delete(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string uriString(uri.get()); auto cbExec = [uriString, result, fileAccessHelper]() -> NError { OHOS::Uri uri(uriString); @@ -506,6 +531,11 @@ napi_value NAPI_Move(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string sourceFileString(sourceFile.get()); string targetParentString(targetParent.get()); auto cbExec = [sourceFileString, targetParentString, result, fileAccessHelper]() -> NError { @@ -559,6 +589,11 @@ napi_value NAPI_Rename(napi_env env, napi_callback_info info) } auto result = std::make_shared(); + if (result == nullptr) { + NapiError(ERR_NULL_POINTER).ThrowErr(env); + return nullptr; + } + string uriString(uri.get()); string name(displayName.get()); auto cbExec = [uriString, name, result, fileAccessHelper]() -> NError { diff --git a/interfaces/kits/napi/file_access_module/root_info/napi_root_info_exporter.cpp b/interfaces/kits/napi/file_access_module/root_info/napi_root_info_exporter.cpp index 23f009b6ddfc62a31d60f50a0a45bbf19e73220b..6cb3b456ea9a2a58955859b570a77d0f3d8186cf 100644 --- a/interfaces/kits/napi/file_access_module/root_info/napi_root_info_exporter.cpp +++ b/interfaces/kits/napi/file_access_module/root_info/napi_root_info_exporter.cpp @@ -67,6 +67,11 @@ napi_value NapiRootInfoExporter::Constructor(napi_env env, napi_callback_info in } auto rootInfoEntity = std::make_unique(); + if (rootInfoEntity == nullptr) { + NError(ERR_NULL_POINTER).ThrowErr(env, "Cannot get entity of RootInfoEntity"); + return nullptr; + } + if (!NClass::SetEntityFor(env, funcArg.GetThisVar(), std::move(rootInfoEntity))) { NError(ERR_NULL_POINTER).ThrowErr(env, "INNER BUG. Failed to wrap entity for obj RootInfoEntity"); return nullptr; diff --git a/interfaces/kits/napi/file_access_module/root_info/napi_root_iterator_exporter.cpp b/interfaces/kits/napi/file_access_module/root_info/napi_root_iterator_exporter.cpp index 91c6d83247f94d4820b142ee6fe1273d9587cda1..3418f03e88fe271a10f19304cc858d1dcf051cf0 100644 --- a/interfaces/kits/napi/file_access_module/root_info/napi_root_iterator_exporter.cpp +++ b/interfaces/kits/napi/file_access_module/root_info/napi_root_iterator_exporter.cpp @@ -57,6 +57,10 @@ napi_value NapiRootIteratorExporter::Constructor(napi_env env, napi_callback_inf } auto rootIteratorEntity = std::make_unique(); + if (rootIteratorEntity == nullptr) { + NError(ERR_NULL_POINTER).ThrowErr(env, "Cannot get entity of rootIteratorEntity"); + } + if (!NClass::SetEntityFor(env, funcArg.GetThisVar(), std::move(rootIteratorEntity))) { NError(ERR_NULL_POINTER).ThrowErr(env, "INNER BUG. Failed to wrap entity for obj FileIteratorEntity"); return nullptr;