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-06 14:14:49 +0100
commita9e4be1cdf6f15b37935fcefa99d8a8610dd2c08 (patch)
treeb2f6164d15e8f38a5eb6499d72cb77ccf5328324
parent8a6a619cbeee99cb42207e01bd733422ece1d911 (diff)
downloadffmpeg-a9e4be1cdf6f15b37935fcefa99d8a8610dd2c08.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 60be4435d3..af94d34a7d 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -552,6 +552,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;
}