From: Mark Nauwelaerts Date: Tue, 17 Jan 2012 10:55:59 +0000 (+0100) Subject: amrwbdec: _parse should not return OK if not enough data yet X-Git-Tag: freedesktop-RELEASE-0.10.18.3-pre-release~1 X-Git-Url: https://git.ti.com/gitweb?p=glsdk%2Fgst-plugins-ugly0-10.git;a=commitdiff_plain;h=6a52d3f73ca65bd196f3db18435f8cd82d5faf65 amrwbdec: _parse should not return OK if not enough data yet --- diff --git a/ext/amrwbdec/amrwbdec.c b/ext/amrwbdec/amrwbdec.c index e056a7a9..53358661 100644 --- a/ext/amrwbdec/amrwbdec.c +++ b/ext/amrwbdec/amrwbdec.c @@ -183,7 +183,7 @@ gst_amrwbdec_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); @@ -193,6 +193,8 @@ gst_amrwbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter, GST_DEBUG_OBJECT (amrwbdec, "mode %d, block %d", mode, block); if (block) { + if (block > size) + return GST_FLOW_UNEXPECTED; *offset = 0; *length = block; } else {