From 5a0edaed55391747c1892c2043a791797a8a65df Mon Sep 17 00:00:00 2001 From: yuanxinying Date: Wed, 29 Mar 2023 17:20:33 +0800 Subject: [PATCH 1/2] fix napi_get_reference_value crash Signed-off-by: houchengyu2022 --- frameworks/napi/input_consumer/src/js_register_util.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frameworks/napi/input_consumer/src/js_register_util.cpp b/frameworks/napi/input_consumer/src/js_register_util.cpp index 2b15f95316..4fc064a4ad 100644 --- a/frameworks/napi/input_consumer/src/js_register_util.cpp +++ b/frameworks/napi/input_consumer/src/js_register_util.cpp @@ -302,6 +302,11 @@ void UvQueueWorkAsyncCallback(uv_work_t *work, int32_t status) } napi_value callback = nullptr; MMI_HILOGD("deliver uv work from %{public}d", GetPid()); + if (event->callback[0] == nullptr) { + MMI_HILOGE("event->callback[0] is nullptr"); + napi_close_handle_scope(env, scope); + return; + } CHKRV_SCOPE(env, napi_get_reference_value(env, event->callback[0], &callback), GET_REFERENCE_VALUE, scope); napi_value result = nullptr; AsyncWorkFn(env, event, result); -- Gitee From 065d71a0884cbc1bfd14f99e89a8c9484a3dc5b8 Mon Sep 17 00:00:00 2001 From: houchengyu Date: Mon, 3 Apr 2023 08:30:57 +0000 Subject: [PATCH 2/2] update frameworks/napi/input_consumer/src/js_register_util.cpp. Signed-off-by: houchengyu --- frameworks/napi/input_consumer/src/js_register_util.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/napi/input_consumer/src/js_register_util.cpp b/frameworks/napi/input_consumer/src/js_register_util.cpp index 9531ae27f0..7f457a82ab 100644 --- a/frameworks/napi/input_consumer/src/js_register_util.cpp +++ b/frameworks/napi/input_consumer/src/js_register_util.cpp @@ -306,7 +306,6 @@ void UvQueueWorkAsyncCallback(uv_work_t *work, int32_t status) return; } napi_value callback = nullptr; - MMI_HILOGD("deliver uv work from %{public}d", GetPid()); CHKRV_SCOPE(env, napi_get_reference_value(env, event->callback[0], &callback), GET_REFERENCE_VALUE, scope); napi_value result = nullptr; AsyncWorkFn(env, event, result); -- Gitee