avcodec/midivid: only multiple of 4 width/height are possible
authorPaul B Mahol <onemda@gmail.com>
Thu, 13 Feb 2020 11:15:42 +0000 (12:15 +0100)
committerPaul B Mahol <onemda@gmail.com>
Thu, 13 Feb 2020 11:15:42 +0000 (12:15 +0100)
libavcodec/midivid.c

index afa394f..2200440 100644 (file)
@@ -238,6 +238,9 @@ static av_cold int decode_init(AVCodecContext *avctx)
     MidiVidContext *s = avctx->priv_data;
     int ret = av_image_check_size(avctx->width, avctx->height, 0, avctx);
 
+    if (avctx->width & 3 || avctx->height & 3)
+        ret = AVERROR_INVALIDDATA;
+
     if (ret < 0) {
         av_log(avctx, AV_LOG_ERROR, "Invalid image size %dx%d.\n",
                avctx->width, avctx->height);