From 93c7f7517b23fa331c2cf528a23708bee7444da1 Mon Sep 17 00:00:00 2001 From: jasone Date: Fri, 28 Dec 2007 02:15:08 +0000 Subject: Release chunks_mtx for all paths through chunk_dealloc(). Reported by: kris --- lib/libc/stdlib/malloc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 9852ba6..79ceb4b 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1773,13 +1773,16 @@ chunk_dealloc(void *chunk, size_t size) #ifdef MALLOC_DSS if (opt_dss) { if (chunk_dealloc_dss(chunk, size) == false) - return; + goto RETURN; } if (opt_mmap) #endif chunk_dealloc_mmap(chunk, size); +#ifdef MALLOC_DSS +RETURN: +#endif #ifdef MALLOC_STATS stats_chunks.curchunks -= (size / chunksize); #endif -- cgit v1.1