aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/exr.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-04-11 21:17:50 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2021-04-17 16:53:17 +0200
commit3344079d3065c99563c65277be89ec694a7ca818 (patch)
tree2a5fd8142dba84c68c56c06071cacff5ee6c01f8 /libavcodec/exr.c
parentc093eb30311b7148a4da1c7555498187c8cdf0db (diff)
downloadffmpeg-3344079d3065c99563c65277be89ec694a7ca818.tar.gz
avcodec/exr: increase vlc depth
Fixes: shift exponent -4 is negative Fixes: 32265/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-465133454137753 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/exr.c')
-rw-r--r--libavcodec/exr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 65e5203c31..49c4774145 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -418,7 +418,7 @@ static int huf_decode(VLC *vlc, GetByteContext *gb, int nbits, int run_sym,
init_get_bits(&gbit, gb->buffer, nbits);
while (get_bits_left(&gbit) > 0 && oe < no) {
- uint16_t x = get_vlc2(&gbit, vlc->table, 12, 2);
+ uint16_t x = get_vlc2(&gbit, vlc->table, 12, 3);
if (x == run_sym) {
int run = get_bits(&gbit, 8);