33 lines
795 B
Diff
33 lines
795 B
Diff
|
From: David Mandelin <dmandelin@mozilla.com>
|
||
|
|
||
|
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();
|