diff --git a/frameworks/js/napi/tls/src/tlssocket_module.cpp b/frameworks/js/napi/tls/src/tlssocket_module.cpp index 32e412410a0ccaa2a61df239b1497be638111164..f7b2eb09c5e5aa4d4310fade67d6a277113fb783 100644 --- a/frameworks/js/napi/tls/src/tlssocket_module.cpp +++ b/frameworks/js/napi/tls/src/tlssocket_module.cpp @@ -203,8 +203,12 @@ napi_value TLSSocketModuleExports::ConstructTLSSocketInstance(napi_env env, napi NETSTACK_LOGE("get event manager in napi_unwrap failed, napiRet is %{public}d", napiRet); return nullptr; } + std::shared_ptr manager = nullptr; + if (sharedManager != nullptr && *sharedManager != nullptr) { + manager = *sharedManager; + } - auto context = new TLSInitContext(env, *sharedManager); + auto context = new TLSInitContext(env, manager); if (context == nullptr) { NETSTACK_LOGE("new TLSInitContext failed, no enough memory"); return nullptr; diff --git a/utils/napi_utils/include/module_template.h b/utils/napi_utils/include/module_template.h index 7333abf68a321500313ec46537da6f3c5856aa9d..3f8a39a1f8868dc608e4427038716e1412abda5a 100644 --- a/utils/napi_utils/include/module_template.h +++ b/utils/napi_utils/include/module_template.h @@ -109,8 +109,12 @@ napi_value InterfaceWithSharedManager(napi_env env, napi_callback_info info, con NETSTACK_LOGE("get event manager in napi_unwrap failed, napi_ret is %{public}d", napi_ret); return NapiUtils::GetUndefined(env); } + std::shared_ptr manager = nullptr; + if (sharedManager != nullptr && *sharedManager != nullptr) { + manager = *sharedManager; + } - auto context = new (std::nothrow) Context(env, *sharedManager); + auto context = new (std::nothrow) Context(env, manager); if (!context) { NETSTACK_LOGE("new context is nullptr"); return NapiUtils::GetUndefined(env); @@ -206,8 +210,12 @@ napi_value InterfaceWithOutAsyncWorkWithSharedManager(napi_env env, napi_callbac NETSTACK_LOGE("get event manager in napi_unwrap failed, napi_ret is %{public}d", napi_ret); return NapiUtils::GetUndefined(env); } + std::shared_ptr manager = nullptr; + if (sharedManager != nullptr && *sharedManager != nullptr) { + manager = *sharedManager; + } - auto context = new (std::nothrow) Context(env, *sharedManager); + auto context = new (std::nothrow) Context(env, manager); if (!context) { NETSTACK_LOGE("new context is nullptr"); return NapiUtils::GetUndefined(env);