From 10ad46bc6526edc5c7afcc57112da96917ff3629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20B=C3=ADlka?= Date: Wed, 20 Nov 2013 15:46:02 +0100 Subject: Consolidate valloc/pvalloc code. To make malloc code more maintainable we make malloc and pvalloc share logic with memalign. --- malloc/hooks.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'malloc/hooks.c') diff --git a/malloc/hooks.c b/malloc/hooks.c index 1dbe93f383..89fbd3c948 100644 --- a/malloc/hooks.c +++ b/malloc/hooks.c @@ -376,6 +376,13 @@ memalign_check(size_t alignment, size_t bytes, const void *caller) return 0; } + /* Make sure alignment is power of 2. */ + if (!powerof2(alignment)) { + size_t a = MALLOC_ALIGNMENT * 2; + while (a < alignment) a <<= 1; + alignment = a; + } + (void)mutex_lock(&main_arena.mutex); mem = (top_check() >= 0) ? _int_memalign(&main_arena, alignment, bytes+1) : NULL; -- cgit v1.2.1