X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fbintext.c;h=1aeed21f516746e7dc1aed76d21a31f25faecf04;hb=46dac8cf3d250184ab4247809bc03f60e14f4c0c;hp=d85f2c2dd443504d8d51f32ec36e59b5f622c4a0;hpb=1811b7d1f5330e04a48b1d6425cf1ef6ed776ed1;p=ffmpeg diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c index d85f2c2dd44..1aeed21f516 100644 --- a/libavcodec/bintext.c +++ b/libavcodec/bintext.c @@ -63,6 +63,10 @@ static av_cold int decode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "not enough extradata\n"); return AVERROR_INVALIDDATA; } + if (!s->font_height) { + av_log(avctx, AV_LOG_ERROR, "invalid font height\n"); + return AVERROR_INVALIDDATA; + } } else { s->font_height = 8; s->flags = 0; @@ -93,8 +97,10 @@ static av_cold int decode_init(AVCodecContext *avctx) break; } } - if (avctx->width < FONT_WIDTH || avctx->height < s->font_height) + if (avctx->width < FONT_WIDTH || avctx->height < s->font_height) { + av_log(avctx, AV_LOG_ERROR, "Resolution too small for font.\n"); return AVERROR_INVALIDDATA; + } return 0; }