From 6da1ee68d007bcb480a86e7bdd585324047e4f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=AE=88=E5=AE=BD?= <8414938+guoshoukuan@user.noreply.gitee.com> Date: Mon, 12 Jul 2021 02:10:06 +0000 Subject: [PATCH] Signed-off-by: guoshoukuan --- kernel/src/mm/los_memory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/src/mm/los_memory.c b/kernel/src/mm/los_memory.c index 69ae3e2a..9e54aec1 100755 --- a/kernel/src/mm/los_memory.c +++ b/kernel/src/mm/los_memory.c @@ -1546,13 +1546,13 @@ STATIC INLINE VOID OsMemMagicCheckPrint(struct OsMemNodeHead **tmpNode) STATIC UINT32 OsMemAddrValidCheckPrint(const VOID *pool, struct OsMemFreeNodeHead **tmpNode) { - if (!OsMemAddrValidCheck(pool, (*tmpNode)->prev)) { + if (((*tmpNode)->prev != NULL) && !OsMemAddrValidCheck(pool, (*tmpNode)->prev)) { PRINT_ERR("[%s], %d, memory check error!\n" " freeNode.prev: 0x%x is out of legal mem range\n", __FUNCTION__, __LINE__, (*tmpNode)->prev); return LOS_NOK; } - if (!OsMemAddrValidCheck(pool, (*tmpNode)->next)) { + if (((*tmpNode)->next != NULL) && !OsMemAddrValidCheck(pool, (*tmpNode)->next)) { PRINT_ERR("[%s], %d, memory check error!\n" " freeNode.next: 0x%x is out of legal mem range\n", __FUNCTION__, __LINE__, (*tmpNode)->next); -- Gitee