aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-02-09 18:09:24 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2020-07-02 19:55:09 +0200
commit6feb24a33699d47d8a748047ed6d0d5fd2194719 (patch)
tree7dd8c1041351a99d1459de5e1589fa03ae1efc5d
parent0e7a8c9665bcef96a084c7118c11773e034872f7 (diff)
downloadffmpeg-6feb24a33699d47d8a748047ed6d0d5fd2194719.tar.gz
libavcodec/wmalosslessdec: prevent sum of positive numbers from becoming negative
Fixes: left shift of negative value -8321365 Fixes: 20506/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-4798062906310656 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 62e4003780cad60ac1371fef892da08c27069964) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/wmalosslessdec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
index c02b156f0f..22596bd5f8 100644
--- a/libavcodec/wmalosslessdec.c
+++ b/libavcodec/wmalosslessdec.c
@@ -164,7 +164,7 @@ typedef struct WmallDecodeCtx {
int transient_pos[WMALL_MAX_CHANNELS];
int seekable_tile;
- int ave_sum[WMALL_MAX_CHANNELS];
+ unsigned ave_sum[WMALL_MAX_CHANNELS];
int channel_residues[WMALL_MAX_CHANNELS][WMALL_BLOCK_MAX_SIZE];