summaryrefslogtreecommitdiff
path: root/libc/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'libc/stdlib')
-rw-r--r--libc/stdlib/malloc-simple/alloc.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c
index 02231fbed..630f4c8c8 100644
--- a/libc/stdlib/malloc-simple/alloc.c
+++ b/libc/stdlib/malloc-simple/alloc.c
@@ -25,13 +25,13 @@ void *calloc_dbg(size_t num, size_t size, char *function, char *file,
#ifdef L_malloc_dbg
-void *malloc_dbg(size_t len, char *function, char *file, int line)
+void *malloc_dbg(size_t size, char *function, char *file, int line)
{
void *result;
- fprintf(stderr, "malloc of %d bytes at %s @%s:%d = ", len, function,
+ fprintf(stderr, "malloc of %d bytes at %s @%s:%d = ", size, function,
file, line);
- result = malloc(len);
+ result = malloc(size);
fprintf(stderr, "%p\n", result);
return result;
}
@@ -65,9 +65,14 @@ void *calloc(size_t num, size_t size)
#ifdef L_malloc
-void *malloc(size_t len)
+void *malloc(size_t size)
{
- void *result = mmap((void *) 0, len, PROT_READ | PROT_WRITE,
+#if 1
+ /* Some programs will call malloc (0). Lets be strict and return NULL */
+ if (size == 0)
+ return NULL;
+#endif
+ void *result = mmap((void *) 0, size, PROT_READ | PROT_WRITE,
#ifdef __UCLIBC_HAS_MMU__
MAP_PRIVATE | MAP_ANONYMOUS, 0, 0
#else