Make TMV decoder check packet sizes before reading from it.
authorVitor Sessak <vitor1001@gmail.com>
Sun, 17 May 2009 09:48:12 +0000 (09:48 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Sun, 17 May 2009 09:48:12 +0000 (09:48 +0000)
FATE test 295 might need updating.

Originally committed as revision 18862 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/tmv.c

index 7bca086..5f746d5 100644 (file)
@@ -52,6 +52,13 @@ static int tmv_decode_frame(AVCodecContext *avctx, void *data,
         return -1;
     }
 
+    if (avpkt->size < 2*char_rows*char_cols) {
+        av_log(avctx, AV_LOG_ERROR,
+               "Input buffer too small, truncated sample?\n");
+        *data_size = 0;
+        return -1;
+    }
+
     tmv->pic.pict_type = FF_I_TYPE;
     tmv->pic.key_frame = 1;
     dst                = tmv->pic.data[0];