summaryrefslogtreecommitdiffstats
path: root/src/memblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/memblock.c')
-rw-r--r--src/memblock.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/memblock.c b/src/memblock.c
index af57e3a4..2dfa6a9c 100644
--- a/src/memblock.c
+++ b/src/memblock.c
@@ -69,12 +69,13 @@ void pa_memblock_unref_fixed(struct pa_memblock *b) {
if (b->ref == 1) {
pa_memblock_unref(b);
return;
+ } else {
+ d = malloc(b->length);
+ assert(d);
+ memcpy(d, b->data, b->length);
+ b->data = d;
+ b->type = PA_MEMBLOCK_DYNAMIC;
+ b->ref--;
}
-
- d = malloc(b->length);
- assert(d);
- memcpy(d, b->data, b->length);
- b->data = d;
- b->type = PA_MEMBLOCK_DYNAMIC;
}