summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2013-10-21 22:04:12 (GMT)
committerJason Evans <je@fb.com>2013-10-21 22:04:12 (GMT)
commit1d1cee127aebc6ca25207435ddc6ae5d9bb90d41 (patch)
treef761394e43313dae5dd1b065a8c4fd971bed5d4d /src
parente2985a23819670866c041ba07964099eeb9e0e07 (diff)
downloadjemalloc-1d1cee127aebc6ca25207435ddc6ae5d9bb90d41.zip
jemalloc-1d1cee127aebc6ca25207435ddc6ae5d9bb90d41.tar.gz
jemalloc-1d1cee127aebc6ca25207435ddc6ae5d9bb90d41.tar.bz2
Add a missing mutex unlock in malloc_init_hard() error path.
Add a missing mutex unlock in a malloc_init_hard() error path (failed mutex initialization). In practice this bug was very unlikely to ever trigger, but if it did, application deadlock would likely result. Reported by Pat Lynch.
Diffstat (limited to 'src')
-rw-r--r--src/jemalloc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jemalloc.c b/src/jemalloc.c
index eb4bb7b..0014a34 100644
--- a/src/jemalloc.c
+++ b/src/jemalloc.c
@@ -745,8 +745,10 @@ malloc_init_hard(void)
return (true);
}
- if (malloc_mutex_init(&arenas_lock))
+ if (malloc_mutex_init(&arenas_lock)) {
+ malloc_mutex_unlock(&init_lock);
return (true);
+ }
/*
* Create enough scaffolding to allow recursive allocation in