aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-11-14 13:21:58 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-12-02 12:03:10 +0100
commite6264f00addca8bd4efed7329aa1faf5fa13b70b (patch)
tree2ee7b14661c6e8df3e550db1484f5a7b4957d000
parent183f5805944251f6856e26b6ceec10ca3072ff00 (diff)
downloadffmpeg-e6264f00addca8bd4efed7329aa1faf5fa13b70b.tar.gz
avcodec/ffv1dec: Clear quant_table_count if its invalid
Fixes deallocation of corrupted pointer Fixes: 343dfbe142a38b521ed069dc4ea7c03b/signal_sigsegv_421427_4074_ffb11959610278cd40dbc153464aa254.avi No releases affected Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit e04126072e984f8db5db9da9303c89ae01f7d6bb) Fixes ticket #5052.
-rw-r--r--libavcodec/ffv1dec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index c0894be64e..ea3b8d2f7a 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -570,6 +570,7 @@ static int read_extra_header(FFV1Context *f)
f->quant_table_count = get_symbol(c, state, 0);
if (f->quant_table_count > (unsigned)MAX_QUANT_TABLES || !f->quant_table_count) {
av_log(f->avctx, AV_LOG_ERROR, "quant table count %d is invalid\n", f->quant_table_count);
+ f->quant_table_count = 0;
return AVERROR_INVALIDDATA;
}