From: Andre Noll Date: Tue, 1 Nov 2016 05:10:00 +0000 (+0100) Subject: wmadec: Properly handle empty outputs. X-Git-Tag: v0.5.7~11^2~4 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=8eaa28075189eea5db470422e8b4110df723cce3;p=paraslash.git wmadec: Properly handle empty outputs. If out_size is zero we try to shrink the buffer to size zero. POSIX says that the behavior is implementation-defined in this case, and para_realloc() aborts due to an assert() statement that checks for size zero. This patch makes sure the wma decoder never calls realloc() with a zero size argument. --- diff --git a/wmadec_filter.c b/wmadec_filter.c index 0dff2b79..48257c19 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -1237,9 +1237,11 @@ next_buffer: free(out); goto err; } - out = para_realloc(out, out_size); - if (out_size > 0) + if (out_size > 0) { + out = para_realloc(out, out_size); btr_add_output(out, out_size, btrn); + } else + free(out); converted += ret + WMA_FRAME_SKIP; success: btr_consume(btrn, converted);