From bdcd36a4c81c50254f6204e83e0c14adc1391e66 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 25 Mar 2015 18:30:00 +0100 Subject: [PATCH] swscale/output: Fix undefined shifts Fixes: da14e86d8462be6493eab16bc2d40f88/asan_heap-oob_204cfd2_528_cov_340150052_COMPRESS.BMP Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libswscale/output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libswscale/output.c b/libswscale/output.c index 88fa2b57ae..6048e2bbd7 100644 --- a/libswscale/output.c +++ b/libswscale/output.c @@ -1709,8 +1709,8 @@ yuv2rgb_full_1_c_template(SwsContext *c, const int16_t *buf0, int A = 0; //init to silence warning for (i = 0; i < dstW; i++) { int Y = buf0[i] << 2; - int U = (ubuf0[i] - (128<<7)) << 2; - int V = (vbuf0[i] - (128<<7)) << 2; + int U = (ubuf0[i] - (128<<7)) * 4; + int V = (vbuf0[i] - (128<<7)) * 4; if (hasAlpha) { A = (abuf0[i] + 64) >> 7;