avviddec: Correctly handle 0-sized buffers without crashing

Might e.g. be valid for Theora.
This commit is contained in:
Sebastian Dröge 2012-09-27 12:20:30 +02:00
parent 787bd57ea1
commit f0d700d5ca

View file

@ -1340,8 +1340,8 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
bdata = minfo.data;
bsize = minfo.size;
if (!GST_MEMORY_IS_ZERO_PADDED (minfo.memory)
|| (minfo.maxsize - minfo.size) < FF_INPUT_BUFFER_PADDING_SIZE) {
if (bsize > 0 && (!GST_MEMORY_IS_ZERO_PADDED (minfo.memory)
|| (minfo.maxsize - minfo.size) < FF_INPUT_BUFFER_PADDING_SIZE)) {
/* add padding */
if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;