diff options
Diffstat (limited to 'libc/stdlib/malloc/realloc.c')
-rw-r--r-- | libc/stdlib/malloc/realloc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libc/stdlib/malloc/realloc.c b/libc/stdlib/malloc/realloc.c index d4e0d9cb4..9e6f880fe 100644 --- a/libc/stdlib/malloc/realloc.c +++ b/libc/stdlib/malloc/realloc.c @@ -13,6 +13,7 @@ #include <stdlib.h> #include <string.h> +#include <errno.h> #include "malloc.h" #include "heap.h" @@ -25,13 +26,12 @@ realloc (void *mem, size_t new_size) char *base_mem; /* Check for special cases. */ - if (! new_size) - { + if (!mem) + return malloc(new_size); + if (!new_size) { free (mem); - return 0; - } - else if (! mem) - return malloc (new_size); + return (malloc(new_size)); + } /* Normal realloc. */ |