diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-04-11 21:17:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-04-17 16:53:17 +0200 |
commit | 3344079d3065c99563c65277be89ec694a7ca818 (patch) | |
tree | 2a5fd8142dba84c68c56c06071cacff5ee6c01f8 /libavcodec/exr.c | |
parent | c093eb30311b7148a4da1c7555498187c8cdf0db (diff) | |
download | ffmpeg-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.c | 2 |
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); |