lib: libc: minimal: add check on returned value
Fix #32938 [Coverity CID :219508] "Unchecked return value in lib/libc/minimal/source/stdlib/malloc.c" The Coverity complains about sys_mutex_lock() which returns 0 if locked. I added also the same check on returned value for sys_mutex_unlock() which returns 0 if unlocked. Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
This commit is contained in:
parent
76f35f29f0
commit
952970d6cb
1 changed files with 20 additions and 6 deletions
|
@ -51,7 +51,12 @@ void *malloc(size_t size)
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
sys_mutex_unlock(&z_malloc_heap_mutex);
|
int unlock_ret = sys_mutex_unlock(&z_malloc_heap_mutex);
|
||||||
|
|
||||||
|
CHECKIF(unlock_ret != 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,15 +86,24 @@ void *realloc(void *ptr, size_t requested_size)
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
sys_mutex_unlock(&z_malloc_heap_mutex);
|
int unlock_ret = sys_mutex_unlock(&z_malloc_heap_mutex);
|
||||||
|
|
||||||
|
CHECKIF(unlock_ret != 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void free(void *ptr)
|
void free(void *ptr)
|
||||||
{
|
{
|
||||||
sys_mutex_lock(&z_malloc_heap_mutex, K_FOREVER);
|
int lock_ret = sys_mutex_lock(&z_malloc_heap_mutex, K_FOREVER);
|
||||||
|
|
||||||
|
CHECKIF(lock_ret != 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sys_heap_free(&z_malloc_heap, ptr);
|
sys_heap_free(&z_malloc_heap, ptr);
|
||||||
sys_mutex_unlock(&z_malloc_heap_mutex);
|
(void) sys_mutex_unlock(&z_malloc_heap_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
SYS_INIT(malloc_prepare, APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
SYS_INIT(malloc_prepare, APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue