From 4ecb272c3ffa9130c14389c96d319bad57876522 Mon Sep 17 00:00:00 2001 From: zhangzezhong Date: Wed, 13 Aug 2025 15:41:46 +0800 Subject: [PATCH] fix_getApplicationContext_Crash_code Signed-off-by: zhangzezhong --- .../ani/ani_common/src/ets_application_context_utils.cpp | 1 + frameworks/ets/ani/ani_common/src/ets_context_utils.cpp | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frameworks/ets/ani/ani_common/src/ets_application_context_utils.cpp b/frameworks/ets/ani/ani_common/src/ets_application_context_utils.cpp index 81dc28b2a5e..fda263626ae 100644 --- a/frameworks/ets/ani/ani_common/src/ets_application_context_utils.cpp +++ b/frameworks/ets/ani/ani_common/src/ets_application_context_utils.cpp @@ -551,6 +551,7 @@ ani_object EtsApplicationContextUtils::CreateEtsApplicationContext(ani_env* aniE } auto etsReference = std::make_shared(); etsReference->aniObj = applicationContextObject; + etsReference->aniRef = applicationContextObjectRef; ApplicationContextManager::GetApplicationContextManager().SetEtsGlobalObject(etsReference); BindApplicationContextFunc(aniEnv); ani_class applicationContextClass = nullptr; diff --git a/frameworks/ets/ani/ani_common/src/ets_context_utils.cpp b/frameworks/ets/ani/ani_common/src/ets_context_utils.cpp index f1c97c5bef4..38c0172b513 100644 --- a/frameworks/ets/ani/ani_common/src/ets_context_utils.cpp +++ b/frameworks/ets/ani/ani_common/src/ets_context_utils.cpp @@ -378,9 +378,9 @@ ani_object GetApplicationContextSync(ani_env *env, ani_object aniObj) } if (!applicationContext->GetApplicationInfoUpdateFlag()) { auto appContextObj = ApplicationContextManager::GetApplicationContextManager().GetEtsGlobalObject(); - if (appContextObj != nullptr) { - TAG_LOGE(AAFwkTag::APPKIT, "appContextObj is not nullptr"); - return appContextObj->aniObj; + if (appContextObj != nullptr && appContextObj->aniRef != nullptr) { + TAG_LOGD(AAFwkTag::APPKIT, "appContextObj is not nullptr"); + return reinterpret_cast(appContextObj->aniRef); } } return GetApplicationContext(env, applicationContext); -- Gitee