check data_size in decode_frame()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 23 Sep 2009 11:29:38 +0000 (11:29 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 23 Sep 2009 11:29:38 +0000 (11:29 +0000)
Originally committed as revision 19986 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegaudiodec.c

index 2ba47df..6f451c3 100644 (file)
@@ -2276,6 +2276,9 @@ static int decode_frame(AVCodecContext * avctx,
     avctx->bit_rate = s->bit_rate;
     avctx->sub_id = s->layer;
 
+    if(*data_size < 1152*avctx->channels*sizeof(OUT_INT))
+        return -1;
+
     if(s->frame_size<=0 || s->frame_size > buf_size){
         av_log(avctx, AV_LOG_ERROR, "incomplete frame\n");
         return -1;