]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/eatqi.c
avcodec/mpeg12enc: Perform size/level/profile checks earlier
[ffmpeg] / libavcodec / eatqi.c
index 0002d454570bc1201b435454bbd26aeda3318ca1..2be2737fd66747806242253a833e18900b8786e2 100644 (file)
@@ -26,6 +26,8 @@
  * @see http://wiki.multimedia.cx/index.php?title=Electronic_Arts_TQI
  */
 
+#include "libavutil/mem_internal.h"
+
 #include "avcodec.h"
 #include "blockdsp.h"
 #include "bswapdsp.h"
@@ -131,6 +133,9 @@ static int tqi_decode_frame(AVCodecContext *avctx,
     AVFrame *frame = data;
     int ret, w, h;
 
+    if (buf_size < 12)
+        return AVERROR_INVALIDDATA;
+
     t->avctx = avctx;
 
     w = AV_RL16(&buf[0]);
@@ -186,4 +191,5 @@ AVCodec ff_eatqi_decoder = {
     .close          = tqi_decode_end,
     .decode         = tqi_decode_frame,
     .capabilities   = AV_CODEC_CAP_DR1,
+    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };