Index: src/core/SkConvolver.cpp |
diff --git a/src/core/SkConvolver.cpp b/src/core/SkConvolver.cpp |
index 7666e6fadc99ac3b161403c91bee35fa0fdbe529..0e97fac07ffc5083cad6d045247c37e388428cd6 100644 |
--- a/src/core/SkConvolver.cpp |
+++ b/src/core/SkConvolver.cpp |
@@ -405,7 +405,7 @@ void BGRAConvolve2D(const unsigned char* sourceData, |
const unsigned char* src[4]; |
unsigned char* outRow[4]; |
for (int i = 0; i < 4; ++i) { |
- src[i] = &sourceData[(nextXRow + i) * sourceByteRowStride]; |
+ src[i] = &sourceData[(uint64_t)(nextXRow + i) * sourceByteRowStride]; |
outRow[i] = rowBuffer.advanceRow(); |
} |
convolveProcs.fConvolve4RowsHorizontally(src, filterX, outRow); |
@@ -416,16 +416,16 @@ void BGRAConvolve2D(const unsigned char* sourceData, |
nextXRow < lastFilterOffset + lastFilterLength - |
avoidSimdRows) { |
convolveProcs.fConvolveHorizontally( |
- &sourceData[nextXRow * sourceByteRowStride], |
+ &sourceData[(uint64_t)nextXRow * sourceByteRowStride], |
filterX, rowBuffer.advanceRow(), sourceHasAlpha); |
} else { |
if (sourceHasAlpha) { |
ConvolveHorizontally<true>( |
- &sourceData[nextXRow * sourceByteRowStride], |
+ &sourceData[(uint64_t)nextXRow * sourceByteRowStride], |
filterX, rowBuffer.advanceRow()); |
} else { |
ConvolveHorizontally<false>( |
- &sourceData[nextXRow * sourceByteRowStride], |
+ &sourceData[(uint64_t)nextXRow * sourceByteRowStride], |
filterX, rowBuffer.advanceRow()); |
} |
} |