Switch to PutWord for rdrand.cpp

pull/339/head
Jeffrey Walton 2016-11-14 02:21:02 -05:00
parent ea1157d8f5
commit f7df2de284
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
2 changed files with 2 additions and 21 deletions

7
misc.h
View File

@ -2141,13 +2141,6 @@ inline void GetWord(bool assumeAligned, ByteOrder order, T &result, const byte *
template <class T>
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<T>(block));
// CRYPTOPP_ASSERT(IsAligned<T>(xorBlock));
//#endif
// *reinterpret_cast<T *>(block) = ConditionalByteReverse(order, value) ^ (xorBlock ? *reinterpret_cast<const T *>(xorBlock) : 0);
CRYPTOPP_UNUSED(assumeAligned);
#ifdef CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS
*reinterpret_cast<T *>((void *)block) = ConditionalByteReverse(order, value) ^ (xorBlock ? *reinterpret_cast<const T *>((const void *)xorBlock) : 0);

View File

@ -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);
}