From 2903a8e8ac089f2738171cb0281e98219f08b969 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Sun, 2 Jun 2024 16:08:06 -0400 Subject: [coverity] tlsf.c tlsf_malloc guard against empty mempool on error mp could still be NULL Change-Id: Ic86571a7d5d0c3586d2be00b45251f03b1be3fca --- lib/tlsf/src/tlsf.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/tlsf/src/tlsf.c b/lib/tlsf/src/tlsf.c index 9df176ce16..3d11f60393 100644 --- a/lib/tlsf/src/tlsf.c +++ b/lib/tlsf/src/tlsf.c @@ -695,7 +695,7 @@ void destroy_memory_pool(void *mem_pool) void *tlsf_malloc(size_t size) { /******************************************************************/ - void *ret; + void *ret = NULL; #if USE_MMAP || USE_SBRK || defined(ROCKBOX) if (!mp) { @@ -710,12 +710,14 @@ void *tlsf_malloc(size_t size) init_memory_pool(area_size, area); } #endif + if (mp) + { + TLSF_ACQUIRE_LOCK(&((tlsf_t *)mp)->lock); - TLSF_ACQUIRE_LOCK(&((tlsf_t *)mp)->lock); - - ret = malloc_ex(size, mp); + ret = malloc_ex(size, mp); - TLSF_RELEASE_LOCK(&((tlsf_t *)mp)->lock); + TLSF_RELEASE_LOCK(&((tlsf_t *)mp)->lock); + } return ret; } -- cgit v1.2.3