summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-06-02 16:08:06 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2024-06-02 21:00:09 -0400
commit2903a8e8ac089f2738171cb0281e98219f08b969 (patch)
treec8eadfdd2d544570b2522255e49d9d56f645e1a1
parent82dcf327365d0c494e51a9a07f5c8b543188c065 (diff)
downloadrockbox-2903a8e8ac089f2738171cb0281e98219f08b969.tar.gz
rockbox-2903a8e8ac089f2738171cb0281e98219f08b969.zip
[coverity] tlsf.c tlsf_malloc guard against empty mempool
on error mp could still be NULL Change-Id: Ic86571a7d5d0c3586d2be00b45251f03b1be3fca
-rw-r--r--lib/tlsf/src/tlsf.c12
1 files changed, 7 insertions, 5 deletions
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)
695void *tlsf_malloc(size_t size) 695void *tlsf_malloc(size_t size)
696{ 696{
697/******************************************************************/ 697/******************************************************************/
698 void *ret; 698 void *ret = NULL;
699 699
700#if USE_MMAP || USE_SBRK || defined(ROCKBOX) 700#if USE_MMAP || USE_SBRK || defined(ROCKBOX)
701 if (!mp) { 701 if (!mp) {
@@ -710,12 +710,14 @@ void *tlsf_malloc(size_t size)
710 init_memory_pool(area_size, area); 710 init_memory_pool(area_size, area);
711 } 711 }
712#endif 712#endif
713 if (mp)
714 {
715 TLSF_ACQUIRE_LOCK(&((tlsf_t *)mp)->lock);
713 716
714 TLSF_ACQUIRE_LOCK(&((tlsf_t *)mp)->lock); 717 ret = malloc_ex(size, mp);
715
716 ret = malloc_ex(size, mp);
717 718
718 TLSF_RELEASE_LOCK(&((tlsf_t *)mp)->lock); 719 TLSF_RELEASE_LOCK(&((tlsf_t *)mp)->lock);
720 }
719 721
720 return ret; 722 return ret;
721} 723}