Use ptrdiff_t cast in BlockTransformation (GH #549)

pull/552/head
Jeffrey Walton 2017-12-17 09:07:12 -05:00
parent d7a2e0e10c
commit 41da3fa7f1
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 4 additions and 4 deletions

View File

@ -148,16 +148,16 @@ size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const by
CRYPTOPP_ASSERT(outBlocks); CRYPTOPP_ASSERT(outBlocks);
CRYPTOPP_ASSERT(length); CRYPTOPP_ASSERT(length);
ptrdiff_t blockSize = static_cast<ptrdiff_t>(BlockSize()); const ptrdiff_t blockSize = static_cast<ptrdiff_t>(BlockSize());
ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize; ptrdiff_t inIncrement = (flags & (BT_InBlockIsCounter|BT_DontIncrementInOutPointers)) ? 0 : blockSize;
ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0; ptrdiff_t xorIncrement = xorBlocks ? blockSize : 0;
ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize; ptrdiff_t outIncrement = (flags & BT_DontIncrementInOutPointers) ? 0 : blockSize;
if (flags & BT_ReverseDirection) if (flags & BT_ReverseDirection)
{ {
inBlocks += length - blockSize; inBlocks += static_cast<ptrdiff_t>(length) - blockSize;
xorBlocks += length - blockSize; xorBlocks += static_cast<ptrdiff_t>(length) - blockSize;
outBlocks += length - blockSize; outBlocks += static_cast<ptrdiff_t>(length) - blockSize;
inIncrement = 0-inIncrement; inIncrement = 0-inIncrement;
xorIncrement = 0-xorIncrement; xorIncrement = 0-xorIncrement;
outIncrement = 0-outIncrement; outIncrement = 0-outIncrement;