From: Michael Niedermayer Date: Wed, 10 May 2017 21:48:30 +0000 (+0200) Subject: avcodec/pixlet: Fix runtime error: signed integer overflow: 436207616 * -516023054526... X-Git-Tag: android-x86-7.1-r1~397 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=60765cc42e3eb4a1193ef352a89946113a6e5802;p=android-x86%2Fexternal-ffmpeg.git avcodec/pixlet: Fix runtime error: signed integer overflow: 436207616 * -5160230545260541 cannot be represented in type 'long' Fixes: 1462/clusterfuzz-testcase-minimized-6558894463647744 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer --- diff --git a/libavcodec/pixlet.c b/libavcodec/pixlet.c index d031305155..ccfd267557 100644 --- a/libavcodec/pixlet.c +++ b/libavcodec/pixlet.c @@ -256,7 +256,7 @@ static int read_high_coeffs(AVCodecContext *avctx, uint8_t *src, int16_t *dst, i j = 0; dst += stride; } - state += (int64_t)d * yflag - (d * state >> 8); + state += (int64_t)d * yflag - ((int64_t)(d * (uint64_t)state) >> 8); flag = 0;