diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-12 12:27:58 +0300 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2014-01-07 09:43:56 +0100 |
commit | 290783b84866b1d16588f04c9c06ece37e523a69 (patch) | |
tree | ad361e9f13c92bfc7ddbebeec715b01619925286 | |
parent | 7f80928c0e7a74dff58d6c9b0172e34619844d01 (diff) | |
download | ffmpeg-290783b84866b1d16588f04c9c06ece37e523a69.tar.gz |
vp3: Check the framerate for validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 6fc8226e29055858f28973bb3d27b63b3b65e616)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit b4c479a82adbb1301e3e549cd80cdd65208ddd05)
-rw-r--r-- | libavcodec/vp3.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index da70e66ab9..d8e16505a1 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -2155,6 +2155,10 @@ 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 && 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); } |