]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/eacmv.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / eacmv.c
index 8a8d6a9cef31d64286bb1143a71351a4a5709a21..82ec9fc9fc74ee4f24f6bbd319114ef93ff9b668 100644 (file)
@@ -162,8 +162,11 @@ static int cmv_decode_frame(AVCodecContext *avctx,
         return AVERROR_INVALIDDATA;
 
     if (AV_RL32(buf)==MVIh_TAG||AV_RB32(buf)==MVIh_TAG) {
+        unsigned size = AV_RL32(buf + 4);
         cmv_process_header(s, buf+EA_PREAMBLE_SIZE, buf_end);
-        return buf_size;
+        if (size > buf_end - buf - EA_PREAMBLE_SIZE)
+            return -1;
+        buf += size;
     }
 
     if (av_image_check_size(s->width, s->height, 0, s->avctx))