diff --git a/frameworks/native/runtime/cj_runtime.cpp b/frameworks/native/runtime/cj_runtime.cpp index ecf1697834d004eebefd5e2e51dbd930083283d0..5dae7bf282576d25cfe92569967e2608af9db938 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 7b64563d20a8e22e56b539ab57489c3a22a73f03..5cead5b8f53d0658a8b653c65b07c3f891ef6f7f 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_TRUE(ret); +} } // namespace Runtime } // namespace OHOS