diff options
Diffstat (limited to 'src/malloc/lite_malloc.c')
-rw-r--r-- | src/malloc/lite_malloc.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/malloc/lite_malloc.c b/src/malloc/lite_malloc.c index 701f60b4..29cccb10 100644 --- a/src/malloc/lite_malloc.c +++ b/src/malloc/lite_malloc.c @@ -47,4 +47,14 @@ static void *__simple_malloc(size_t n) } weak_alias(__simple_malloc, malloc); -weak_alias(__simple_malloc, __malloc0); + +static void *__simple_calloc(size_t m, size_t n) +{ + if (n && m > (size_t)-1/n || malloc != __simple_malloc) { + errno = ENOMEM; + return 0; + } + return __simple_malloc(n * m); +} + +weak_alias(__simple_calloc, calloc); |