From 9d09883b9dadd30512bee131598188d48dd8b30b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=9D=99?= Date: Wed, 18 Jun 2025 11:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 王静 --- frameworks/js/jsi/src/jsi_list.cpp | 9 +++++++++ frameworks/js/jsi/src/jsi_md.cpp | 3 +++ 2 files changed, 12 insertions(+) diff --git a/frameworks/js/jsi/src/jsi_list.cpp b/frameworks/js/jsi/src/jsi_list.cpp index 6b74eb3..c732b94 100644 --- a/frameworks/js/jsi/src/jsi_list.cpp +++ b/frameworks/js/jsi/src/jsi_list.cpp @@ -51,6 +51,9 @@ HcfResult ListAddObjNode(LiteAlgType type, uint32_t addAddr) } obj->objAddr = addAddr; + if (GetListHeader(type) == nullptr) { + return HCF_INVALID_PARAMS; + } if (GetListHeader(type)->pstNext == nullptr) { LOS_ListInit(GetListHeader(type)); } @@ -63,6 +66,9 @@ void ListDeleteObjNode(LiteAlgType type, uint32_t deleteAddr) { ObjList *obj = nullptr; ObjList *objNext = nullptr; + if (GetListHeader(type) == nullptr) { + return; + } LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(obj, objNext, GetListHeader(type), ObjList, listNode) { if (obj == nullptr) { return; @@ -81,6 +87,9 @@ void ListDestroy(LiteAlgType type) { ObjList *obj = nullptr; ObjList *objNext = nullptr; + if (GetListHeader(type) == nullptr) { + return; + } LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(obj, objNext, GetListHeader(type), ObjList, listNode) { if (obj == nullptr) { return; diff --git a/frameworks/js/jsi/src/jsi_md.cpp b/frameworks/js/jsi/src/jsi_md.cpp index 08bf010..9c50ede 100644 --- a/frameworks/js/jsi/src/jsi_md.cpp +++ b/frameworks/js/jsi/src/jsi_md.cpp @@ -40,12 +40,14 @@ JSIValue CryptoFrameworkLiteModule::CreateMd(const JSIValue thisVal, const JSIVa HcfResult res = HcfMdCreate(reinterpret_cast(alg), &mdObj); if (res != HCF_SUCCESS) { LOGE("CreateMd is mdObj err res %d!", res); + JSI::ReleaseString(alg); return ThrowErrorCodeResult(res); } res = ListAddObjNode(JSI_ALG_MD, (uint32_t)mdObj); if (res != HCF_SUCCESS) { LOGE("md add node is %d err!", res); HcfObjDestroy(static_cast(mdObj)); + JSI::ReleaseString(alg); return ThrowErrorCodeResult(res); } @@ -63,6 +65,7 @@ JSIValue CryptoFrameworkLiteModule::CreateMd(const JSIValue thisVal, const JSIVa JSI::SetNumberProperty(serviceObj, "mdObj", (double)(uint32_t)mdObj); JSI::ReleaseValueList(update, updateSync, digest, digestSync, getMdLength, ARGS_END); + JSI::ReleaseString(alg); return serviceObj; } -- Gitee