From 9e92f7993264c5dc9df53c4f6aaf19d3c13783cd Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Mon, 25 Jan 2016 10:47:48 -0500 Subject: Cleared -Wcast-align (Issue 122) --- tea.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'tea.cpp') diff --git a/tea.cpp b/tea.cpp index 4597d16d..871a00b3 100644 --- a/tea.cpp +++ b/tea.cpp @@ -106,9 +106,12 @@ void XTEA::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, by void BTEA::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const { CRYPTOPP_UNUSED(xorBlock); + assert(IsAlignedOn(inBlock,GetAlignmentOf())); + assert(IsAlignedOn(outBlock,GetAlignmentOf())); + unsigned int n = m_blockSize / 4; - word32 *v = (word32*)outBlock; - ConditionalByteReverse(BIG_ENDIAN_ORDER, v, (const word32*)inBlock, m_blockSize); + word32 *v = (word32*)(void *)outBlock; + ConditionalByteReverse(BIG_ENDIAN_ORDER, v, (const word32*)(void *)inBlock, m_blockSize); word32 y = v[0], z = v[n-1], e; word32 p, q = 6+52/n; @@ -133,9 +136,12 @@ void BTEA::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, by void BTEA::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const { CRYPTOPP_UNUSED(xorBlock); + assert(IsAlignedOn(inBlock,GetAlignmentOf())); + assert(IsAlignedOn(outBlock,GetAlignmentOf())); + unsigned int n = m_blockSize / 4; - word32 *v = (word32*)outBlock; - ConditionalByteReverse(BIG_ENDIAN_ORDER, v, (const word32*)inBlock, m_blockSize); + word32 *v = (word32*)(void *)outBlock; + ConditionalByteReverse(BIG_ENDIAN_ORDER, v, (const word32*)(void *)inBlock, m_blockSize); word32 y = v[0], z = v[n-1], e; word32 p, q = 6+52/n; -- cgit v1.2.1