aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-08-30 03:43:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-09-23 21:46:15 +0200
commit005b38f8f141c0ababe95db2282d8cfe3948cce3 (patch)
tree37ff96bc5885eacffc5992ff4a8a7ac59f0aa337
parent0f429392cf412dc89909b216cfbf7f7e9fe72717 (diff)
downloadffmpeg-005b38f8f141c0ababe95db2282d8cfe3948cce3.tar.gz
avcodec/ffv1dec: check global header version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 20b965a1a43ae88b7ae95635d5a3570e7dc2bbd4) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/ffv1dec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index 8d6d842561..7efd9e67b2 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -483,6 +483,10 @@ static int read_extra_header(FFV1Context *f)
ff_build_rac_states(c, 0.05 * (1LL << 32), 256 - 8);
f->version = get_symbol(c, state, 0);
+ if (f->version < 2) {
+ av_log(f->avctx, AV_LOG_ERROR, "Invalid version in global header\n");
+ return AVERROR_INVALIDDATA;
+ }
if (f->version > 2) {
c->bytestream_end -= 4;
f->minor_version = get_symbol(c, state, 0);