diff mbox

[FFmpeg-devel,2/4] avcodec/wavpack: Fix runtime error: left shift of negative value -5

Message ID 20170307014143.19735-2-michael@niedermayer.cc
State Accepted
Commit 3016e919d4e1d90da98af19ce2a9d4979506eaf3
Headers show

Commit Message

Michael Niedermayer March 7, 2017, 1:41 a.m. UTC
Fixes: 729/clusterfuzz-testcase-5154831595470848

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/wavpack.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Niedermayer March 8, 2017, 5:05 p.m. UTC | #1
On Tue, Mar 07, 2017 at 02:41:41AM +0100, Michael Niedermayer wrote:
> Fixes: 729/clusterfuzz-testcase-5154831595470848
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/wavpack.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied


[...]
diff mbox

Patch

diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index a4ba07fc83..943e46a25c 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -273,7 +273,7 @@  static inline int wv_get_value_integer(WavpackFrameContext *s, uint32_t *crc,
     unsigned bit;
 
     if (s->extra_bits) {
-        S <<= s->extra_bits;
+        S *= 1 << s->extra_bits;
 
         if (s->got_extra_bits &&
             get_bits_left(&s->gb_extra_bits) >= s->extra_bits) {