summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-08-23 22:34:49 +0000
committerLennart Poettering <lennart@poettering.net>2007-08-23 22:34:49 +0000
commit4eb9bb074653a6ebbb925c701c69d2b101098142 (patch)
tree8ef82d6fdaeed012f5fbfae308d0612bbda31481
parentc1cdcfde7cd1efa9c37a8e12b50ccfca944e0abe (diff)
fix a bad memory access when destructing pa_memimports
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1711 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulsecore/memblock.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c
index da996093..914e429a 100644
--- a/src/pulsecore/memblock.c
+++ b/src/pulsecore/memblock.c
@@ -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) {