]> code.delx.au - pulseaudio/commitdiff
memblock: fix memory leak when pa_shm_create_rw fails
authorLu Guanqun <guanqun.lu@intel.com>
Mon, 15 Aug 2011 01:51:37 +0000 (09:51 +0800)
committerColin Guthrie <colin@mageia.org>
Mon, 15 Aug 2011 08:41:56 +0000 (09:41 +0100)
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
src/pulsecore/memblock.c

index e34a7395e44f5740afd043f257f71a747d3211d4..19be15176ae67aa008eccc18210e28e2af3418ce 100644 (file)
@@ -711,9 +711,6 @@ pa_mempool* pa_mempool_new(pa_bool_t shared, size_t size) {
 
     p = pa_xnew(pa_mempool, 1);
 
-    p->mutex = pa_mutex_new(TRUE, TRUE);
-    p->semaphore = pa_semaphore_new(0);
-
     p->block_size = PA_PAGE_ALIGN(PA_MEMPOOL_SLOT_SIZE);
     if (p->block_size < PA_PAGE_SIZE)
         p->block_size = PA_PAGE_SIZE;
@@ -745,6 +742,9 @@ pa_mempool* pa_mempool_new(pa_bool_t shared, size_t size) {
     PA_LLIST_HEAD_INIT(pa_memimport, p->imports);
     PA_LLIST_HEAD_INIT(pa_memexport, p->exports);
 
+    p->mutex = pa_mutex_new(TRUE, TRUE);
+    p->semaphore = pa_semaphore_new(0);
+
     p->free_slots = pa_flist_new(p->n_blocks);
 
     return p;