diff --git a/libavcodec/mss12.c b/libavcodec/mss12.c index 59294b8b14..b522e4a408 100644 --- a/libavcodec/mss12.c +++ b/libavcodec/mss12.c @@ -586,6 +586,11 @@ av_cold int ff_mss12_decode_init(MSS12Context *c, int version, avctx->coded_width, avctx->coded_height); return AVERROR_INVALIDDATA; } + if (avctx->coded_width < 1 || avctx->coded_height < 1) { + av_log(avctx, AV_LOG_ERROR, "Frame dimensions %dx%d too small", + avctx->coded_width, avctx->coded_height); + return AVERROR_INVALIDDATA; + } av_log(avctx, AV_LOG_DEBUG, "Encoder version %d.%d\n", AV_RB32(avctx->extradata + 4), AV_RB32(avctx->extradata + 8));