aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-12-04 21:44:05 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2015-12-20 10:59:27 +0100
commit0fa22a42d6b2d5fe3a0f84c72395ea404421e9da (patch)
treea58fce460b28f4c4242e9ba67847f95b6e2bba75
parent929fd61602710211ccfd3c7fd8093fb6b032ad86 (diff)
downloadffmpeg-0fa22a42d6b2d5fe3a0f84c72395ea404421e9da.tar.gz
swscale/utils: Fix for runtime error: left shift of negative value -1
Fixes: c106b36fa36db8ff8f3ed0c82be7bea2/asan_heap-oob_32699f0_6321_467b9a1d7e03d7cfd310b7e65dc53bcc.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 325b59368dae3c3f2f5cc39873002b4cf133ccbc) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libswscale/utils.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libswscale/utils.c b/libswscale/utils.c
index e7b5fa5c1e..71456db580 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -380,7 +380,7 @@ static av_cold int initFilter(int16_t **outFilter, int32_t **filterPos,
xDstInSrc = ((dstPos*(int64_t)xInc)>>7) - ((srcPos*0x10000LL)>>7);
for (i = 0; i < dstW; i++) {
- int xx = (xDstInSrc - ((int64_t)(filterSize - 2) << 16)) / (1 << 17);
+ int xx = (xDstInSrc - (filterSize - 2) * (1LL<<16)) / (1 << 17);
int j;
(*filterPos)[i] = xx;
for (j = 0; j < filterSize; j++) {