]> code.delx.au - pulseaudio/commitdiff
fix a bad memory access when destructing pa_memimports
authorLennart Poettering <lennart@poettering.net>
Thu, 23 Aug 2007 22:34:49 +0000 (22:34 +0000)
committerLennart Poettering <lennart@poettering.net>
Thu, 23 Aug 2007 22:34:49 +0000 (22:34 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1711 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/memblock.c

index da9960938a9b048699a1a2f4562dc8956614494a..914e429ac40779296b8175fa7fe9415ea6f10384 100644 (file)
@@ -608,10 +608,11 @@ static void memblock_replace_import(pa_memblock *b) {
 
     memblock_make_local(b);
 
-    if (-- seg->n_blocks <= 0)
+    if (-- seg->n_blocks <= 0) {
+        pa_mutex_unlock(seg->import->mutex);
         segment_detach(seg);
-
-    pa_mutex_unlock(seg->import->mutex);
+    } else 
+        pa_mutex_unlock(seg->import->mutex);
 }
 
 pa_mempool* pa_mempool_new(int shared) {