Re: [RFC PATCH v1 5/6] tools/nolibc/stdlib: Implement `malloc()`, `calloc()`, `realloc()` and `free()`

From: Ammar Faizi
Date: Sun Mar 20 2022 - 12:10:49 EST


On 3/20/22 10:50 PM, Alviro Iskandar Setiawan wrote:
This better be simplified like this, so only have 1 malloc() call that
applies to both branches.

void *realloc(void *old_ptr, size_t new_size)
{
struct nolibc_heap *heap;
void *ret;

ret = malloc(new_size);
if (__builtin_expect(!ret, 0))
return NULL;

if (!old_ptr)
return ret;

heap = container_of(old_ptr, struct nolibc_heap, user_p);
memcpy(ret, heap->user_p, heap->len);
munmap(heap, heap->len);
return ret;
}

That looks better, will take this for the v2. Thanks!

--
Ammar Faizi