summaryrefslogtreecommitdiffstats
path: root/libc/stdlib/malloc/realloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/stdlib/malloc/realloc.c')
-rw-r--r--libc/stdlib/malloc/realloc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libc/stdlib/malloc/realloc.c b/libc/stdlib/malloc/realloc.c
index 8dcc35360..4d56565aa 100644
--- a/libc/stdlib/malloc/realloc.c
+++ b/libc/stdlib/malloc/realloc.c
@@ -15,6 +15,8 @@
#include <string.h>
#include <errno.h>
+libc_hidden_proto(memcpy)
+
#include "malloc.h"
#include "heap.h"
@@ -26,13 +28,13 @@ realloc (void *mem, size_t new_size)
char *base_mem;
/* Check for special cases. */
- if (! mem)
- return malloc (new_size);
if (! new_size)
{
free (mem);
return malloc (new_size);
}
+ if (! mem)
+ return malloc (new_size);
/* Normal realloc. */
@@ -66,7 +68,7 @@ realloc (void *mem, size_t new_size)
void *new_mem = malloc (new_size - MALLOC_HEADER_SIZE);
if (new_mem)
{
- __memcpy (new_mem, mem, size - MALLOC_HEADER_SIZE);
+ memcpy (new_mem, mem, size - MALLOC_HEADER_SIZE);
free (mem);
}
mem = new_mem;