From 562c5d93d3442555557b849c5eca5881f2e785e4 Mon Sep 17 00:00:00 2001 From: hw_llm Date: Mon, 23 Sep 2024 20:01:13 +0800 Subject: [PATCH] =?UTF-8?q?Description:=20liteipc=20=E8=A7=A3=E5=86=B3=20?= =?UTF-8?q?=E9=87=8A=E6=94=BE=E5=90=8E=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20IssueNo:=20https://gitee.com/openharmony/kernel=5Fliteos=5Fa?= =?UTF-8?q?/issues/IAT99L=20Feature=20Or=20Bugfix:=20Bugfix=20Binary=20Sou?= =?UTF-8?q?rce:=20No=20Signed-off-by:=20hw=5Fllm=20?= =?UTF-8?q?=20=EF=BC=88cherry=20picked=20commit=20from=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/extended/liteipc/hm_liteipc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/extended/liteipc/hm_liteipc.c b/kernel/extended/liteipc/hm_liteipc.c index 3671e1ee..ce05003b 100644 --- a/kernel/extended/liteipc/hm_liteipc.c +++ b/kernel/extended/liteipc/hm_liteipc.c @@ -758,7 +758,10 @@ LITE_OS_SEC_TEXT STATIC UINT32 HandlePtr(LosProcessCB *pcb, SpecialObj *obj, BOO obj->content.ptr.buff = (VOID *)GetIpcUserAddr(pcb, (INTPTR)buf); EnableIpcNodeFreeByUser(pcb, (VOID *)buf); } else { - (VOID)LiteIpcNodeFree(pcb, (VOID *)GetIpcKernelAddr(pcb, (INTPTR)obj->content.ptr.buff)); + buf = (VOID *)GetIpcKernelAddr(pcb, (INTPTR)obj->content.ptr.buff); + if (IsIpcNode(pcb, buf) == TRUE) { + (VOID)LiteIpcNodeFree(pcb, buf); + } } return LOS_OK; }