diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2020-03-28 22:04:06 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2020-03-31 20:12:15 +0200 |
commit | 67de1865b1ee9e3616124b8fb6f1c34cba1b1d5f (patch) | |
tree | 2f35917c036a3ddd7e725a6f14e9822c5f1f1be8 /libavcodec/hcadec.c | |
parent | fa164bc50e3400fbddf94bcafbfe33e2ce9ab24b (diff) |
avcodec/hcadec: Check scale_factors
Fixes: out of array read
Fixes: 21286/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HCA_fuzzer-5683183715876864
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/hcadec.c')
-rw-r--r-- | libavcodec/hcadec.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c index 4e3f589579..f25d6c39b6 100644 --- a/libavcodec/hcadec.c +++ b/libavcodec/hcadec.c @@ -345,6 +345,7 @@ static void unpack(HCAContext *c, ChannelContext *ch, } else { factor += delta - half_max; } + factor = av_clip_uintp2(factor, 6); ch->scale_factors[i] = factor; } |