swscale/output: Fix integer overflow in alpha computation in yuv2gbrp16_full_X_c()
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 16 Feb 2020 19:18:11 +0000 (20:18 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 4 Apr 2020 20:09:46 +0000 (22:09 +0200)
Fixes: signed integer overflow: 524280 * 4432 cannot be represented in type 'int'
Fixes: ticket8322

Found-by: Suhwan
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libswscale/output.c

index a793a89..9df6ba4 100644 (file)
@@ -2278,7 +2278,7 @@ yuv2gbrp16_full_X_c(SwsContext *c, const int16_t *lumFilter,
             A = -0x40000000;
 
             for (j = 0; j < lumFilterSize; j++)
-                A += alpSrc[j][i] * lumFilter[j];
+                A += alpSrc[j][i] * (unsigned)lumFilter[j];
 
             A >>= 1;
             A += 0x20002000;