avcodec/ansi: Check dimensions
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 26 Sep 2016 18:25:59 +0000 (20:25 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 28 Sep 2016 12:23:07 +0000 (14:23 +0200)
Fixes: 1.avi

Found-by: 连一汉 <lianyihan@360.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 69449da436169e7facaa6d1f3bcbc41cf6ce2754)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ansi.c

index 4808ea7..19c88d8 100644 (file)
@@ -94,6 +94,9 @@ static av_cold int decode_init(AVCodecContext *avctx)
         int ret = ff_set_dimensions(avctx, 80 << 3, 25 << 4);
         if (ret < 0)
             return ret;
+    } else if (avctx->width % FONT_WIDTH || avctx->height % s->font_height) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid dimensions %d %d\n", avctx->width, avctx->height);
+        return AVERROR(EINVAL);
     }
     return 0;
 }