summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author朱天龙 (Armink) <[email protected]>2022-06-10 12:26:01 +0800
committerguo <[email protected]>2022-06-13 21:14:14 +0800
commit33be34d8ec6d7a8272065a49c47673b49aef53c2 (patch)
tree1736a7bd7ffe5ae1d1835fd691d20f4b07b76a9a /src
parent5ccf6a0fa8cc85eee1797489a21091e92e727def (diff)
[kservice] add NULL check for rt_free and rt_free_align.
Diffstat (limited to 'src')
-rw-r--r--src/kservice.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kservice.c b/src/kservice.c
index e8c53bd2ea..4e6dc22675 100644
--- a/src/kservice.c
+++ b/src/kservice.c
@@ -1551,6 +1551,8 @@ RT_WEAK void rt_free(void *rmem)
/* call 'rt_free' hook */
RT_OBJECT_HOOK_CALL(rt_free_hook, (rmem));
+ /* NULL check */
+ if (rmem == RT_NULL) return;
/* Enter critical zone */
level = _heap_lock();
_MEM_FREE(rmem);
@@ -1672,6 +1674,8 @@ RT_WEAK void rt_free_align(void *ptr)
{
void *real_ptr;
+ /* NULL check */
+ if (ptr == RT_NULL) return;
real_ptr = (void *) * (rt_ubase_t *)((rt_ubase_t)ptr - sizeof(void *));
rt_free(real_ptr);
}