From 4d6724912a11e96419d43fba1fcfa3dda439de8f Mon Sep 17 00:00:00 2001 From: zhusiyuan Date: Fri, 1 Dec 2023 10:14:47 +0800 Subject: [PATCH] Fix: Message Handler Null Pointer Dereference Signed-off-by: zhusiyuan --- core/common/message_handler/message_handler.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/common/message_handler/message_handler.c b/core/common/message_handler/message_handler.c index 86c1862788..13a8782ee4 100644 --- a/core/common/message_handler/message_handler.c +++ b/core/common/message_handler/message_handler.c @@ -146,7 +146,8 @@ static void *LoopTask(void *arg) if (looper->dumpable) { COMM_LOGD(COMM_UTILS, "LoopTask[%s], get message. handle=%s,what=%" PRId32 ",arg1=%" PRIu64 ",msgSize=%u,time=%" PRId64, - context->name, msg->handler->name, msg->what, msg->arg1, context->msgSize, msg->time); + context->name, msg->handler ? msg->handler->name : "null", msg->what, msg->arg1, context->msgSize, + msg->time); } } else { SoftBusSysTime tv; @@ -163,11 +164,11 @@ static void *LoopTask(void *arg) (void)SoftBusMutexUnlock(&context->lock); if (looper->dumpable) { COMM_LOGD(COMM_UTILS, - "LoopTask[%s], HandleMessage message. handle=%s,what=%" PRId32, context->name, msg->handler->name, - msg->what); + "LoopTask[%s], HandleMessage message. handle=%s,what=%" PRId32, context->name, + msg->handler ? msg->handler->name : "null", msg->what); } - if (msg->handler->HandleMessage != NULL) { + if (msg->handler != NULL && msg->handler->HandleMessage != NULL) { msg->handler->HandleMessage(msg); } if (looper->dumpable) { -- Gitee