mm/umm_heap/: Handle size zero in umm_malloc.c and umm_realloc.c, which causes a system freeze in kernel mode.

This commit is contained in:
Oki Minabe 2020-02-01 17:45:08 +09:00 committed by Ouss4
parent 67ae5b3e7f
commit 95dc647c3c
2 changed files with 11 additions and 0 deletions

View File

@ -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

View File

@ -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