X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fbintext.c;h=1aeed21f516746e7dc1aed76d21a31f25faecf04;hb=eb6ea948ed2f86361ae0b9d8689368d466b8337f;hp=d85f2c2dd443504d8d51f32ec36e59b5f622c4a0;hpb=ecb5546e97c479378e057f527cc1d79a46c31cb1;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; }