1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00

avcodec/dstdec: Check read_table() for failure

Fixes: Timeout (too long -> 42sec)
Fixes: 18181/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DST_fuzzer-5736646250594304

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 03ea8d8cd4)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2019-10-15 23:40:21 +02:00
parent e0d167051e
commit 2258982c8b

View File

@ -298,11 +298,15 @@ static int decode_frame(AVCodecContext *avctx, void *data,
/* Filter Coef Sets (10.12) */
read_table(gb, &s->fsets, fsets_code_pred_coeff, 7, 9, 1, 0);
ret = read_table(gb, &s->fsets, fsets_code_pred_coeff, 7, 9, 1, 0);
if (ret < 0)
return ret;
/* Probability Tables (10.13) */
read_table(gb, &s->probs, probs_code_pred_coeff, 6, 7, 0, 1);
ret = read_table(gb, &s->probs, probs_code_pred_coeff, 6, 7, 0, 1);
if (ret < 0)
return ret;
/* Arithmetic Coded Data (10.11) */