diff --git a/cryptlib.cpp b/cryptlib.cpp index 55df7134..ddc829db 100644 --- a/cryptlib.cpp +++ b/cryptlib.cpp @@ -148,16 +148,16 @@ size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const by CRYPTOPP_ASSERT(outBlocks); CRYPTOPP_ASSERT(length); - ptrdiff_t blockSize = static_cast(BlockSize()); + const ptrdiff_t blockSize = static_cast(BlockSize()); ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; if (flags & BT_ReverseDirection) { - inBlocks += length - blockSize; - xorBlocks += length - blockSize; - outBlocks += length - blockSize; + inBlocks += static_cast(length) - blockSize; + xorBlocks += static_cast(length) - blockSize; + outBlocks += static_cast(length) - blockSize; inIncrement = 0-inIncrement; xorIncrement = 0-xorIncrement; outIncrement = 0-outIncrement;