Commit d6945aee authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/h264addpx_template: Fixes integer overflows

Fixes: signed integer overflow: 512 + 2147483491 cannot be represented in type 'int'
Fixes: 4780/clusterfuzz-testcase-minimized-4709066174627840

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 0e62a237
...@@ -35,10 +35,10 @@ static void FUNCC(ff_h264_add_pixels4)(uint8_t *_dst, int16_t *_src, int stride) ...@@ -35,10 +35,10 @@ static void FUNCC(ff_h264_add_pixels4)(uint8_t *_dst, int16_t *_src, int stride)
stride /= sizeof(pixel); stride /= sizeof(pixel);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
dst[0] += src[0]; dst[0] += (unsigned)src[0];
dst[1] += src[1]; dst[1] += (unsigned)src[1];
dst[2] += src[2]; dst[2] += (unsigned)src[2];
dst[3] += src[3]; dst[3] += (unsigned)src[3];
dst += stride; dst += stride;
src += 4; src += 4;
...@@ -55,14 +55,14 @@ static void FUNCC(ff_h264_add_pixels8)(uint8_t *_dst, int16_t *_src, int stride) ...@@ -55,14 +55,14 @@ static void FUNCC(ff_h264_add_pixels8)(uint8_t *_dst, int16_t *_src, int stride)
stride /= sizeof(pixel); stride /= sizeof(pixel);
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
dst[0] += src[0]; dst[0] += (unsigned)src[0];
dst[1] += src[1]; dst[1] += (unsigned)src[1];
dst[2] += src[2]; dst[2] += (unsigned)src[2];
dst[3] += src[3]; dst[3] += (unsigned)src[3];
dst[4] += src[4]; dst[4] += (unsigned)src[4];
dst[5] += src[5]; dst[5] += (unsigned)src[5];
dst[6] += src[6]; dst[6] += (unsigned)src[6];
dst[7] += src[7]; dst[7] += (unsigned)src[7];
dst += stride; dst += stride;
src += 8; src += 8;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment