From: David Mandelin diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c --- a/memory/jemalloc/jemalloc.c +++ b/memory/jemalloc/jemalloc.c @@ -5792,24 +5792,24 @@ __attribute__((noinline)) #else inline #endif void * memalign(size_t alignment, size_t size) { void *ret; - assert(((alignment - 1) & alignment) == 0 && alignment >= - sizeof(void *)); + assert(((alignment - 1) & alignment) == 0); if (malloc_init()) { ret = NULL; goto RETURN; } + alignment = alignment < sizeof(void*) ? sizeof(void*) : alignment; ret = ipalloc(alignment, size); RETURN: #ifdef MALLOC_XMALLOC if (opt_xmalloc && ret == NULL) { _malloc_message(_getprogname(), ": (malloc) Error in memalign(): out of memory\n", "", ""); abort();