aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2015-12-16 20:52:39 +0100
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2015-12-20 13:39:45 +0100
commit79f407b79a825c3123aff65cef64b383eca5a95e (patch)
tree0fa8d343bd06f1fa62ae22d9520e39cd6c9b8457
parent174ec7d744d3e45bdb74c4c568f7bc5f689d4304 (diff)
downloadffmpeg-79f407b79a825c3123aff65cef64b383eca5a95e.tar.gz
nuv: sanitize negative fps rate
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> (cherry picked from commit f6830cf5ba03fdcfcd81a0358eb32d4081a2fcce) Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r--libavformat/nuv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/nuv.c b/libavformat/nuv.c
index 001d9c8860..cb51511943 100644
--- a/libavformat/nuv.c
+++ b/libavformat/nuv.c
@@ -172,6 +172,15 @@ static int nuv_header(AVFormatContext *s)
if (aspect > 0.9999 && aspect < 1.0001)
aspect = 4.0 / 3.0;
fps = av_int2double(avio_rl64(pb));
+ if (fps < 0.0f) {
+ if (s->error_recognition & AV_EF_EXPLODE) {
+ av_log(s, AV_LOG_ERROR, "Invalid frame rate %f\n", fps);
+ return AVERROR_INVALIDDATA;
+ } else {
+ av_log(s, AV_LOG_WARNING, "Invalid frame rate %f, setting to 0.\n", fps);
+ fps = 0.0f;
+ }
+ }
// number of packets per stream type, -1 means unknown, e.g. streaming
v_packs = avio_rl32(pb);