diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index fe4e48ba9d..a6e2d0eea7 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2225,7 +2225,11 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb) fps.num = get_bits_long(gb, 32); fps.den = get_bits_long(gb, 32); - if (fps.num>0 && fps.den>0) { + if (fps.num && fps.den) { + if (fps.num < 0 || fps.den < 0) { + av_log(avctx, AV_LOG_ERROR, "Invalid framerate\n"); + return AVERROR_INVALIDDATA; + } av_reduce(&avctx->time_base.num, &avctx->time_base.den, fps.den, fps.num, 1<<30); }