diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-11-09 10:55:04 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-11-09 10:55:04 +0100 |
commit | ac9c1beb361e3c71e0b9b59d38e5022f12c263c6 (patch) | |
tree | 0202322d5cf8af813e49fa92dc311d5483636045 /common/dummy_malloc.c | |
parent | 98c31d3e3659566011dbce1c1d649d7c4ec021e1 (diff) | |
parent | 1e0d7e417acd745e5ddd9fb3b8dbb8691945f62f (diff) | |
download | barebox-ac9c1beb361e3c71e0b9b59d38e5022f12c263c6.tar.gz barebox-ac9c1beb361e3c71e0b9b59d38e5022f12c263c6.tar.xz |
Merge branch 'for-next/malloc'
Diffstat (limited to 'common/dummy_malloc.c')
-rw-r--r-- | common/dummy_malloc.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/common/dummy_malloc.c b/common/dummy_malloc.c index 641baa125a..0120d9be2e 100644 --- a/common/dummy_malloc.c +++ b/common/dummy_malloc.c @@ -30,11 +30,14 @@ void malloc_stats(void) void *memalign(size_t alignment, size_t bytes) { - unsigned long mem = (unsigned long)sbrk(bytes + alignment); + void *mem = sbrk(bytes + alignment); - mem = (mem + alignment) & ~(alignment - 1); + if (!mem) { + errno = ENOMEM; + return NULL; + } - return (void *)mem; + return PTR_ALIGN(mem, alignment); } void *malloc(size_t size) @@ -50,16 +53,3 @@ void *realloc(void *ptr, size_t size) { BUG(); } - -void *calloc(size_t n, size_t elem_size) -{ - size_t size = elem_size * n; - void *r = malloc(size); - - if (!r) - return r; - - memset(r, 0x0, size); - - return r; -} |