diff --git a/jemalloc/src/jemalloc.c b/jemalloc/src/jemalloc.c index 61a36c73..c1aaddae 100644 --- a/jemalloc/src/jemalloc.c +++ b/jemalloc/src/jemalloc.c @@ -735,7 +735,8 @@ malloc_init_hard(void) */ ARENA_SET(arenas[0]); - malloc_mutex_init(&arenas_lock); + if (malloc_mutex_init(&arenas_lock)) + return (true); #ifdef JEMALLOC_PROF if (prof_boot2()) { diff --git a/jemalloc/src/rtree.c b/jemalloc/src/rtree.c index 7753743c..eb440aac 100644 --- a/jemalloc/src/rtree.c +++ b/jemalloc/src/rtree.c @@ -20,7 +20,10 @@ rtree_new(unsigned bits) memset(ret, 0, offsetof(rtree_t, level2bits) + (sizeof(unsigned) * height)); - malloc_mutex_init(&ret->mutex); + if (malloc_mutex_init(&ret->mutex)) { + /* Leak the rtree. */ + return (NULL); + } ret->height = height; if (bits_per_level * height > bits) ret->level2bits[0] = bits % bits_per_level;