X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fjvdec.c;h=4337d5681ec94e4c3d80408d08cd377e0fb25425;hb=635067b75fce06928431ce9b9fcaee0c9b6b7280;hp=cbe83d3c108d10a686eb91fdc5a779110d08f39a;hpb=ce47f1589e9f5a6cf8372a269bdd862ff0cc3f91;p=ffmpeg diff --git a/libavcodec/jvdec.c b/libavcodec/jvdec.c index cbe83d3c108..4337d5681ec 100644 --- a/libavcodec/jvdec.c +++ b/libavcodec/jvdec.c @@ -170,6 +170,11 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, GetBitContext gb; init_get_bits(&gb, buf, 8 * video_size); + if (avctx->height/8 * (avctx->width/8) > 4 * video_size) { + av_log(avctx, AV_LOG_ERROR, "Insufficient input data for dimensions\n"); + return AVERROR_INVALIDDATA; + } + for (j = 0; j < avctx->height; j += 8) for (i = 0; i < avctx->width; i += 8) decode8x8(&gb,