Add call to ThrowIfInvalidTruncatedSize in SipHash Final

pull/351/head
Jeffrey Walton 2016-12-18 23:01:33 -05:00
parent ba00b9e46b
commit fa99ece0c5
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
2 changed files with 5 additions and 0 deletions

View File

@ -165,6 +165,7 @@ void Poly1305_Base<T>::HashBlocks(const byte *input, size_t length, word32 padbi
template <class T>
void Poly1305_Base<T>::TruncatedFinal(byte *mac, size_t size)
{
CRYPTOPP_ASSERT(mac); // Pointer is valid
CRYPTOPP_ASSERT(!m_used); // Nonce is fresh
ThrowIfInvalidTruncatedSize(size);

View File

@ -203,6 +203,10 @@ void SipHash_Base<C,D,T_128bit>::Update(const byte *input, size_t length)
template <unsigned int C, unsigned int D, bool T_128bit>
void SipHash_Base<C,D,T_128bit>::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)