summaryrefslogtreecommitdiffstats
path: root/common/dummy_malloc.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-11-09 10:55:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-11-09 10:55:04 +0100
commitac9c1beb361e3c71e0b9b59d38e5022f12c263c6 (patch)
tree0202322d5cf8af813e49fa92dc311d5483636045 /common/dummy_malloc.c
parent98c31d3e3659566011dbce1c1d649d7c4ec021e1 (diff)
parent1e0d7e417acd745e5ddd9fb3b8dbb8691945f62f (diff)
downloadbarebox-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.c22
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;
-}