diff --git a/interfaces/kits/admin_manager/src/admin_manager_addon.cpp b/interfaces/kits/admin_manager/src/admin_manager_addon.cpp index 66ff2d6cc280c886c679697c78b2df556e8a44fa..01377a5ab04d24d154d23e6fb51fe85f87b66bcc 100644 --- a/interfaces/kits/admin_manager/src/admin_manager_addon.cpp +++ b/interfaces/kits/admin_manager/src/admin_manager_addon.cpp @@ -326,8 +326,12 @@ void AdminManager::NativeGetEnterpriseInfoComplete(napi_env env, napi_status sta EDMLOGE("data is nullptr"); return; } + napi_handle_scope scope = nullptr; + napi_open_handle_scope(env, &scope); + if (scope == nullptr) { + return; + } AsyncGetEnterpriseInfoCallbackInfo *asyncCallbackInfo = static_cast(data); - napi_value result[2] = { 0 }; if (asyncCallbackInfo->ret == ERR_OK) { napi_get_null(env, &result[ARR_INDEX_ZERO]); @@ -357,6 +361,7 @@ void AdminManager::NativeGetEnterpriseInfoComplete(napi_env env, napi_status sta napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; asyncCallbackInfo = nullptr; + napi_close_handle_scope(env, scope); } napi_value AdminManager::SetEnterpriseInfo(napi_env env, napi_callback_info info) diff --git a/interfaces/kits/common/src/napi_edm_common.cpp b/interfaces/kits/common/src/napi_edm_common.cpp index a902ff97874a35968285240e002cff331eb87c2a..490702991517bef3d4d57bb0bc5bda07c333618b 100644 --- a/interfaces/kits/common/src/napi_edm_common.cpp +++ b/interfaces/kits/common/src/napi_edm_common.cpp @@ -134,6 +134,11 @@ void NativeVoidCallbackComplete(napi_env env, napi_status status, void *data) EDMLOGE("data is nullptr"); return; } + napi_handle_scope scope = nullptr; + napi_open_handle_scope(env, &scope); + if (scope == nullptr) { + return; + } AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value error = nullptr; if (asyncCallbackInfo->callback == nullptr) { @@ -158,6 +163,7 @@ void NativeVoidCallbackComplete(napi_env env, napi_status status, void *data) } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; + napi_close_handle_scope(env, scope); } napi_value HandleAsyncWork(napi_env env, AsyncCallbackInfo *context, const std::string &workName, @@ -185,6 +191,11 @@ void NativeBoolCallbackComplete(napi_env env, napi_status status, void *data) EDMLOGE("data is nullptr"); return; } + napi_handle_scope scope = nullptr; + napi_open_handle_scope(env, &scope); + if (scope == nullptr) { + return; + } AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); if (asyncCallbackInfo->deferred != nullptr) { EDMLOGD("asyncCallbackInfo->deferred != nullptr"); @@ -217,6 +228,7 @@ void NativeBoolCallbackComplete(napi_env env, napi_status status, void *data) } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; + napi_close_handle_scope(env, scope); } void NativeStringCallbackComplete(napi_env env, napi_status status, void *data) @@ -225,6 +237,11 @@ void NativeStringCallbackComplete(napi_env env, napi_status status, void *data) EDMLOGE("data is nullptr"); return; } + napi_handle_scope scope = nullptr; + napi_open_handle_scope(env, &scope); + if (scope == nullptr) { + return; + } AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); if (asyncCallbackInfo->deferred != nullptr) { EDMLOGD("asyncCallbackInfo->deferred != nullptr"); @@ -258,6 +275,7 @@ void NativeStringCallbackComplete(napi_env env, napi_status status, void *data) } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; + napi_close_handle_scope(env, scope); } void NativeArrayStringCallbackComplete(napi_env env, napi_status status, void *data) @@ -266,6 +284,11 @@ void NativeArrayStringCallbackComplete(napi_env env, napi_status status, void *d EDMLOGE("data is nullptr"); return; } + napi_handle_scope scope = nullptr; + napi_open_handle_scope(env, &scope); + if (scope == nullptr) { + return; + } AsyncCallbackInfo *asyncCallbackInfo = static_cast(data); if (asyncCallbackInfo->deferred != nullptr) { EDMLOGD("asyncCallbackInfo->deferred != nullptr"); @@ -298,6 +321,7 @@ void NativeArrayStringCallbackComplete(napi_env env, napi_status status, void *d } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; + napi_close_handle_scope(env, scope); } void ConvertStringVectorToJS(napi_env env, const std::vector &stringVector, napi_value result)