diff options
| author | 朱天龙 (Armink) <[email protected]> | 2022-06-10 12:26:01 +0800 |
|---|---|---|
| committer | guo <[email protected]> | 2022-06-13 21:14:14 +0800 |
| commit | 33be34d8ec6d7a8272065a49c47673b49aef53c2 (patch) | |
| tree | 1736a7bd7ffe5ae1d1835fd691d20f4b07b76a9a /src/kservice.c | |
| parent | 5ccf6a0fa8cc85eee1797489a21091e92e727def (diff) | |
[kservice] add NULL check for rt_free and rt_free_align.
Diffstat (limited to 'src/kservice.c')
| -rw-r--r-- | src/kservice.c | 4 |
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); } |
