diff --git a/poly1305.cpp b/poly1305.cpp index e79cf386..0473dc5f 100644 --- a/poly1305.cpp +++ b/poly1305.cpp @@ -165,6 +165,7 @@ void Poly1305_Base::HashBlocks(const byte *input, size_t length, word32 padbi template void Poly1305_Base::TruncatedFinal(byte *mac, size_t size) { + CRYPTOPP_ASSERT(mac); // Pointer is valid CRYPTOPP_ASSERT(!m_used); // Nonce is fresh ThrowIfInvalidTruncatedSize(size); diff --git a/siphash.h b/siphash.h index aa6bc8fa..8194d4b8 100644 --- a/siphash.h +++ b/siphash.h @@ -203,6 +203,10 @@ void SipHash_Base::Update(const byte *input, size_t length) template void SipHash_Base::TruncatedFinal(byte *digest, size_t digestSize) { + CRYPTOPP_ASSERT(digest); // Pointer is valid + + ThrowIfInvalidTruncatedSize(digestSize); + // The high octet holds length and is digested mod 256 m_b[0] += m_idx; m_b[0] <<= 56U; switch (m_idx)