From 7855a3257980e45dec7cc57e998a5b4fa1504903 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 13 Feb 2012 18:05:42 +0100 Subject: 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. --- src/pcm_buffer.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/pcm_buffer.c') 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); -- cgit v1.2.3