swscale: fix another integer overflow.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 29 Feb 2012 02:21:31 +0000 (18:21 -0800)
committerRonald S. Bultje <rsbultje@gmail.com>
Wed, 29 Feb 2012 19:19:03 +0000 (11:19 -0800)
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libswscale/utils.c

index 3b488ca..7c89a70 100644 (file)
@@ -1014,7 +1014,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
     c->vLumBufSize= c->vLumFilterSize;
     c->vChrBufSize= c->vChrFilterSize;
     for (i=0; i<dstH; i++) {
-        int chrI= i*c->chrDstH / dstH;
+        int chrI = (int64_t) i * c->chrDstH / dstH;
         int nextSlice= FFMAX(c->vLumFilterPos[i   ] + c->vLumFilterSize - 1,
                            ((c->vChrFilterPos[chrI] + c->vChrFilterSize - 1)<<c->chrSrcVSubSample));