From 5d39f69033856c1615eaaee6db94e6de3dcfbbad Mon Sep 17 00:00:00 2001 From: zeq <14274430+devoperator@user.noreply.gitee.com> Date: Mon, 11 Aug 2025 18:39:23 +0800 Subject: [PATCH] fix null cjEnv Signed-off-by: zeq <979847790@qq.com> --- frameworks/native/runtime/cj_runtime.cpp | 4 ++++ test/unittest/cj_runtime_test/cj_runtime_test.cpp | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/frameworks/native/runtime/cj_runtime.cpp b/frameworks/native/runtime/cj_runtime.cpp index ecf1697834d..5dae7bf2825 100644 --- a/frameworks/native/runtime/cj_runtime.cpp +++ b/frameworks/native/runtime/cj_runtime.cpp @@ -186,6 +186,10 @@ void CJRuntime::SetSanitizerVersion(SanitizerKind kind) bool CJRuntime::RegisterCangjieCallback() { auto cjEnv = OHOS::CJEnv::LoadInstance(); + if (cjEnv == nullptr) { + TAG_LOGE(AAFwkTag::CJRUNTIME, "null cjEnv"); + return false; + } constexpr char CANGJIE_DEBUGGER_LIB_PATH[] = "libark_connect_inspector.z.so"; #define LIBARARYKIND_SYS 0 auto handlerConnectServerSo = cjEnv->loadLibrary(LIBARARYKIND_SYS, CANGJIE_DEBUGGER_LIB_PATH); diff --git a/test/unittest/cj_runtime_test/cj_runtime_test.cpp b/test/unittest/cj_runtime_test/cj_runtime_test.cpp index 7b64563d20a..52025f97b6b 100644 --- a/test/unittest/cj_runtime_test/cj_runtime_test.cpp +++ b/test/unittest/cj_runtime_test/cj_runtime_test.cpp @@ -135,5 +135,15 @@ HWTEST_F(CjRuntimeTest, CjRuntimeStartDebuggerMode_001, TestSize.Level2) EXPECT_TRUE(debugOption.isDebugApp); } +/** + * @tc.name: CjRuntimeRegisterCangjieCallback_001 + * @tc.desc: CjRuntime test for RegisterCangjieCallback. + * @tc.type: FUNC + */ +HWTEST_F(CjRuntimeTest, CjRuntimeRegisterCangjieCallback_001, TestSize.Level2) +{ + bool ret = CJRuntime::RegisterCangjieCallback(); + EXPECT_FALSE(ret); +} } // namespace Runtime } // namespace OHOS -- Gitee