Browse Source

avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()

Fixes: signed integer overflow: -1094995529 * 2 cannot be represented in type 'int'
Fixes: 18281/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5692589180715008

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 1d1719a44d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n4.0.5
Michael Niedermayer 6 years ago
parent
commit
e80488d267
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavcodec/apedec.c

+ 2
- 1
libavcodec/apedec.c View File

@@ -916,7 +916,8 @@ static void long_filter_ehigh_3830(int32_t *buffer, int length)
{
int i, j;
int32_t dotprod, sign;
int32_t coeffs[8] = { 0 }, delay[8] = { 0 };
int32_t delay[8] = { 0 };
uint32_t coeffs[8] = { 0 };

for (i = 0; i < length; i++) {
dotprod = 0;


Loading…
Cancel
Save