]> git.alsa-project.org Git - alsa-lib.git/commitdiff
fix memory leak
authorClemens Ladisch <clemens@ladisch.de>
Tue, 20 Jul 2004 15:36:08 +0000 (15:36 +0000)
committerClemens Ladisch <clemens@ladisch.de>
Tue, 20 Jul 2004 15:36:08 +0000 (15:36 +0000)
src/output.c

index 2fbabed2e11c4fb059ac0d6d78defc52095d48b0..071113bd63dab7c2498a0f27aa52d41b90c2690c 100644 (file)
@@ -250,6 +250,8 @@ static int snd_output_buffer_need(snd_output_t *output, size_t size)
        snd_output_buffer_t *buffer = output->private_data;
        size_t _free = buffer->alloc - buffer->size;
        size_t alloc;
+       unsigned char *buf;
+
        if (_free >= size)
                return _free;
        if (buffer->alloc == 0)
@@ -258,9 +260,10 @@ static int snd_output_buffer_need(snd_output_t *output, size_t size)
                alloc = buffer->alloc;
        while (alloc < size)
                alloc *= 2;
-       buffer->buf = realloc(buffer->buf, alloc);
-       if (!buffer->buf)
+       buf = realloc(buffer->buf, alloc);
+       if (!buf)
                return -ENOMEM;
+       buffer->buf = buf;
        buffer->alloc = alloc;
        return buffer->alloc - buffer->size;
 }