summaryrefslogtreecommitdiff
path: root/libavcodec/eac3dec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-02-25 21:07:25 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2017-02-26 17:16:22 +0100
commit87eb3749708c0eb2978f4812c7be2a4af667fdb7 (patch)
tree198bffd93665c4a1a30c7c0ea8cf8bf30da169a7 /libavcodec/eac3dec.c
parentaff8cf18cb0b1fa4f2e3d163c3da2f25aa6d1906 (diff)
downloadffmpeg-87eb3749708c0eb2978f4812c7be2a4af667fdb7.tar.gz
avcodec/eac3dec: Fix runtime error: left shift of negative value -3
Fixes: 672/clusterfuzz-testcase-5595018867769344 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/eac3dec.c')
-rw-r--r--libavcodec/eac3dec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/eac3dec.c b/libavcodec/eac3dec.c
index be2350237e..c971879b2d 100644
--- a/libavcodec/eac3dec.c
+++ b/libavcodec/eac3dec.c
@@ -280,7 +280,7 @@ static void ff_eac3_decode_transform_coeffs_aht_ch(AC3DecodeContext *s, int ch)
mant += ((ff_eac3_gaq_remap_2_4_a[hebap-8][log_gain-1] * (int64_t)mant) >> 15) + b;
} else {
/* small mantissa, no GAQ, or Gk=1 */
- mant <<= 24 - bits;
+ mant *= (1 << 24 - bits);
if (!log_gain) {
/* remap mantissa value for no GAQ or Gk=1 */
mant += (ff_eac3_gaq_remap_1[hebap-8] * (int64_t)mant) >> 15;