summaryrefslogtreecommitdiff
path: root/cryptlib.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-05-20 02:12:43 -0400
committerJeffrey Walton <noloader@gmail.com>2017-05-20 02:12:43 -0400
commit0bdbde2c21afeb858ebd6e2106c13b35b55b7ca6 (patch)
treebf920b793d72395af7267db42d7aac199814f521 /cryptlib.cpp
parent25fcb7bef83b8b11463e726b8ae5d0cfee8091b3 (diff)
downloadcryptopp-git-0bdbde2c21afeb858ebd6e2106c13b35b55b7ca6.tar.gz
Clear coverity finding FORWARD_NULL (CID 147865)
Diffstat (limited to 'cryptlib.cpp')
-rw-r--r--cryptlib.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/cryptlib.cpp b/cryptlib.cpp
index 24eb0209..9f1e749c 100644
--- a/cryptlib.cpp
+++ b/cryptlib.cpp
@@ -171,18 +171,18 @@ size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const by
outIncrement = 0-outIncrement;
}
+ // Coverity finding CID 147865. In practice, if BT_XorInput, then xorBlocks is non-NULL.
+ bool xorFlag = (flags & BT_XorInput) && (xorBlocks != NULLPTR);
while (length >= blockSize)
{
- if (flags & BT_XorInput)
+ if (xorFlag)
{
- // Coverity finding. However, xorBlocks is never NULL if BT_XorInput.
- CRYPTOPP_ASSERT(xorBlocks);
xorbuf(outBlocks, xorBlocks, inBlocks, blockSize);
+ xorBlocks += xorIncrement;
ProcessBlock(outBlocks);
}
else
{
- // xorBlocks can be NULL. See, for example, ECB_OneWay::ProcessData.
ProcessAndXorBlock(inBlocks, xorBlocks, outBlocks);
}
@@ -190,7 +190,6 @@ size_t BlockTransformation::AdvancedProcessBlocks(const byte *inBlocks, const by
const_cast<byte *>(inBlocks)[blockSize-1]++;
inBlocks += inIncrement;
outBlocks += outIncrement;
- xorBlocks += xorIncrement;
length -= blockSize;
}