aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-06-08 09:27:49 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-06-27 17:50:47 +0200
commit0789b6295bbf343ef07bb6629ff19aaf1de49ed7 (patch)
treead9d96d28d7a834833c88624469d52d9b71ee086
parenta56b96a3dade2552efd13a30d395c135fab7f8cb (diff)
downloadffmpeg-0789b6295bbf343ef07bb6629ff19aaf1de49ed7.tar.gz
avformat/wsddec: Fix undefined shift
Fixes: left shift of 1 by 31 places cannot be represented in type 'int' Fixes: 15123/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5738039235575808 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 112eb17a2bbf6d02f81fdf0743b353a6b010aedc) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/wsddec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/wsddec.c b/libavformat/wsddec.c
index 81a4dcc71e..a6bddec138 100644
--- a/libavformat/wsddec.c
+++ b/libavformat/wsddec.c
@@ -137,7 +137,7 @@ static int wsd_read_header(AVFormatContext *s)
if (!(channel_assign & 1)) {
int i;
for (i = 1; i < 32; i++)
- if (channel_assign & (1 << i))
+ if ((channel_assign >> i) & 1)
st->codecpar->channel_layout |= wsd_to_av_channel_layoyt(s, i);
}