This is an automated email from the ASF dual-hosted git repository. aguettouche pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 95dc647 mm/umm_heap/: Handle size zero in umm_malloc.c and umm_realloc.c, which causes a system freeze in kernel mode. 95dc647 is described below commit 95dc647c3cf55d9a4a9edc4453c696b730b43d77 Author: Oki Minabe <minabe....@gmail.com> AuthorDate: Sat Feb 1 17:45:08 2020 +0900 mm/umm_heap/: Handle size zero in umm_malloc.c and umm_realloc.c, which causes a system freeze in kernel mode. --- mm/umm_heap/umm_malloc.c | 5 +++++ mm/umm_heap/umm_realloc.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/mm/umm_heap/umm_malloc.c b/mm/umm_heap/umm_malloc.c index 7f38ac3..ea2f13e 100644 --- a/mm/umm_heap/umm_malloc.c +++ b/mm/umm_heap/umm_malloc.c @@ -70,6 +70,11 @@ FAR void *malloc(size_t size) FAR void *brkaddr; FAR void *mem; + if (size < 1) + { + return NULL; + } + /* Loop until we successfully allocate the memory or until an error * occurs. If we fail to allocate memory on the first pass, then call * sbrk to extend the heap by one page. This may require several diff --git a/mm/umm_heap/umm_realloc.c b/mm/umm_heap/umm_realloc.c index 5538bf5..0a27df4 100644 --- a/mm/umm_heap/umm_realloc.c +++ b/mm/umm_heap/umm_realloc.c @@ -71,6 +71,12 @@ FAR void *realloc(FAR void *oldmem, size_t size) FAR void *brkaddr; FAR void *mem; + if (size < 1) + { + mm_free(USR_HEAP, oldmem); + return NULL; + } + /* Loop until we successfully allocate the memory or until an error * occurs. If we fail to allocate memory on the first pass, then call * sbrk to extend the heap by one page. This may require several