From f7df2de28428de43deaab2e79636d7151568c371 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Mon, 14 Nov 2016 02:21:02 -0500 Subject: [PATCH] Switch to PutWord for rdrand.cpp --- misc.h | 7 ------- rdrand.cpp | 16 ++-------------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/misc.h b/misc.h index 2fbd8761..f36a5bce 100644 --- a/misc.h +++ b/misc.h @@ -2141,13 +2141,6 @@ inline void GetWord(bool assumeAligned, ByteOrder order, T &result, const byte * template inline void PutWord(bool assumeAligned, ByteOrder order, byte *block, T value, const byte *xorBlock = NULL) { -//#ifndef CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS -// if (!assumeAligned) -// return UnalignedbyteNonTemplate(order, block, value, xorBlock); -// CRYPTOPP_ASSERT(IsAligned(block)); -// CRYPTOPP_ASSERT(IsAligned(xorBlock)); -//#endif -// *reinterpret_cast(block) = ConditionalByteReverse(order, value) ^ (xorBlock ? *reinterpret_cast(xorBlock) : 0); CRYPTOPP_UNUSED(assumeAligned); #ifdef CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS *reinterpret_cast((void *)block) = ConditionalByteReverse(order, value) ^ (xorBlock ? *reinterpret_cast((const void *)xorBlock) : 0); diff --git a/rdrand.cpp b/rdrand.cpp index 36f0538c..0eb4300d 100644 --- a/rdrand.cpp +++ b/rdrand.cpp @@ -248,13 +248,7 @@ static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety) { if (size >= sizeof(val)) { -#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32) - *((word64*)(void *)output) = val; -#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86) - *((word32*)(void *)output) = val; -#else - memcpy(output, &val, sizeof(val)); -#endif + PutWord(true, LITTLE_ENDIAN_ORDER, output, val, NULL); output += sizeof(val); size -= sizeof(val); } @@ -423,13 +417,7 @@ static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety) { if (size >= sizeof(val)) { -#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32) - *((word64*)(void *)output) = val; -#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86) - *((word32*)(void *)output) = val; -#else - memcpy(output, &val, sizeof(val)); -#endif + PutWord(true, LITTLE_ENDIAN_ORDER, output, val, NULL); output += sizeof(val); size -= sizeof(val); }