From: Mark Nauwelaerts Date: Tue, 17 Jan 2012 10:55:14 +0000 (+0100) Subject: amrnbdec: _parse should not return OK if not enough data yet X-Git-Tag: freedesktop-RELEASE-0.10.18.3-pre-release~2 X-Git-Url: https://git.ti.com/gitweb?p=glsdk%2Fgst-plugins-ugly0-10.git;a=commitdiff_plain;h=37376663aef30f59f9a4af509691359b99501ae8;hp=380035a4a9580528031a9c25b8a3bbdb9bd47631 amrnbdec: _parse should not return OK if not enough data yet --- diff --git a/ext/amrnb/amrnbdec.c b/ext/amrnb/amrnbdec.c index 5f6c64b3..bf59d8de 100644 --- a/ext/amrnb/amrnbdec.c +++ b/ext/amrnb/amrnbdec.c @@ -257,7 +257,7 @@ gst_amrnbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter, gst_audio_decoder_get_parse_state (dec, &sync, &eos); /* need to peek data to get the size */ - if (gst_adapter_available (adapter) < 1) + if (size < 1) return GST_FLOW_ERROR; data = gst_adapter_peek (adapter, 1); @@ -280,6 +280,9 @@ gst_amrnbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter, GST_DEBUG_OBJECT (amrnbdec, "mode %d, block %d", mode, block); + if (block > size) + return GST_FLOW_UNEXPECTED; + *offset = 0; *length = block;