avcodec/nellymoser: Fix multiple left shift of negative value -8591

Fixes: 1342/clusterfuzz-testcase-minimized-5490842129137664

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 0953736b7e)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2017-05-05 19:28:56 +02:00
parent b80d4f58d8
commit 2adf20b3da

View File

@ -84,7 +84,7 @@ const int16_t ff_nelly_delta_table[32] = {
static inline int signed_shift(int i, int shift) {
if (shift > 0)
return i << shift;
return (unsigned)i << shift;
return i >> -shift;
}
@ -108,7 +108,7 @@ static int headroom(int *la)
return 31;
}
l = 30 - av_log2(FFABS(*la));
*la <<= l;
*la *= 1<<l;
return l;
}