]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/indeo2.c
exr: fix out-of-bounds read
[ffmpeg] / libavcodec / indeo2.c
index a58dfa09101d07602c29793fa4aefa30288fc8cd..c89845233e8a49506d2e1f641840bd0f0a2d2636 100644 (file)
@@ -172,6 +172,12 @@ static int ir2_decode_frame(AVCodecContext *avctx,
 
     ltab = buf[0x22] & 3;
     ctab = buf[0x22] >> 2;
+
+    if (ctab > 3) {
+        av_log(avctx, AV_LOG_ERROR, "ctab %d is invalid\n", ctab);
+        return AVERROR_INVALIDDATA;
+    }
+
     if (s->decode_delta) { /* intraframe */
         if ((ret = ir2_decode_plane(s, avctx->width, avctx->height,
                                     p->data[0], p->linesize[0],