From 03938380c0e658f55f1df412f2d482f5000f45a6 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 25 Apr 2001 16:09:48 +0000 Subject: Be more strict with the malloc implementation. Return NULL when folks do a malloc(0) using malloc-simple. -Erik --- libc/stdlib/malloc-simple/alloc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'libc/stdlib/malloc-simple/alloc.c') 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 -- cgit v1.2.3