summaryrefslogtreecommitdiff
path: root/libavcodec/hcadec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-03-28 22:04:06 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2020-03-31 20:12:15 +0200
commit67de1865b1ee9e3616124b8fb6f1c34cba1b1d5f (patch)
tree2f35917c036a3ddd7e725a6f14e9822c5f1f1be8 /libavcodec/hcadec.c
parentfa164bc50e3400fbddf94bcafbfe33e2ce9ab24b (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.c1
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;
}