aboutsummaryrefslogtreecommitdiff
path: root/src/pcm_buffer.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-02-13 18:05:42 +0100
committerMax Kellermann <max@duempel.org>2012-02-13 18:17:05 +0100
commit7855a3257980e45dec7cc57e998a5b4fa1504903 (patch)
tree613bdb2c5b58e4778247269c3dc1cd36c2d130df /src/pcm_buffer.c
parent9c92afa5fef58f3a7781d9cd95de26ab07cdd079 (diff)
pcm_buffer: pcm_buffer_get() never returns NULL
This fixes a bug when libsamplerate returns an empty buffer for a very small input buffer. The caller thinks this is an error, bug there is no GError object.
Diffstat (limited to 'src/pcm_buffer.c')
-rw-r--r--src/pcm_buffer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pcm_buffer.c b/src/pcm_buffer.c
index b0449d44..60a699b2 100644
--- a/src/pcm_buffer.c
+++ b/src/pcm_buffer.c
@@ -34,6 +34,11 @@ pcm_buffer_get(struct pcm_buffer *buffer, size_t size)
{
assert(buffer != NULL);
+ if (size == 0)
+ /* never return NULL, because NULL would be assumed to
+ be an error condition */
+ size = 1;
+
if (buffer->size < size) {
/* free the old buffer */
g_free(buffer->buffer);