diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-04-11 21:17:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-06-18 20:53:56 +0200 |
commit | 48be6b27e7e09a9ff5c3b7788e8e74e027a8ce78 (patch) | |
tree | afcdad406d0f182b9cf72b03e4ba2d6e91289eda | |
parent | b3f458f89f48ce48add6406609036d46695288d6 (diff) | |
download | ffmpeg-48be6b27e7e09a9ff5c3b7788e8e74e027a8ce78.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>
(cherry picked from commit 3344079d3065c99563c65277be89ec694a7ca818)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-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); |