avcodec/dca_xll: Fix runtime error: signed integer overflow: 1762028192 + 698372290...
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 11 Mar 2017 02:38:01 +0000 (03:38 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 12 Mar 2017 03:38:14 +0000 (04:38 +0100)
Fixes: 762/clusterfuzz-testcase-5927683747741696

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/dca_xll.c

index 6cebda3..b7331e0 100644 (file)
@@ -658,7 +658,7 @@ static void chs_filter_band_data(DCAXllDecoder *s, DCAXllChSet *c, int band)
             // Inverse fixed coefficient prediction
             for (j = 0; j < b->fixed_pred_order[i]; j++)
                 for (k = 1; k < nsamples; k++)
-                    buf[k] += buf[k - 1];
+                    buf[k] += (unsigned)buf[k - 1];
         }
     }