diff options
Diffstat (limited to 'src/memblock.c')
-rw-r--r-- | src/memblock.c | 13 |
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; } |