avcodec/mpeg4videodec: more unsigned in amv computation

Fixes: signed integer overflow: -2147483648 + -1048576 cannot be represented in type 'int'
Fixes: 59365/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-642654923954585

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/390/head
Michael Niedermayer 2 years ago
parent 5a16eb78db
commit 0adaa90d89
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
  1. 2
      libavcodec/mpeg4videodec.c

@ -861,7 +861,7 @@ static inline int get_amv(Mpeg4DecContext *ctx, int n)
for (y = 0; y < 16; y++) { for (y = 0; y < 16; y++) {
int v; int v;
v = mb_v + dy * y; v = mb_v + (unsigned)dy * y;
// FIXME optimize // FIXME optimize
for (x = 0; x < 16; x++) { for (x = 0; x < 16; x++) {
sum += v >> shift; sum += v >> shift;

Loading…
Cancel
Save