diff options
author | William Wilgus <wilgus.william@gmail.com> | 2024-06-02 16:08:06 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2024-06-02 21:00:09 -0400 |
commit | 2903a8e8ac089f2738171cb0281e98219f08b969 (patch) | |
tree | c8eadfdd2d544570b2522255e49d9d56f645e1a1 /lib | |
parent | 82dcf327365d0c494e51a9a07f5c8b543188c065 (diff) | |
download | rockbox-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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tlsf/src/tlsf.c | 12 |
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) | |||
695 | void *tlsf_malloc(size_t size) | 695 | void *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 | } |