Added dontoptimize pragma to zerokeymemory in feistel class

This commit is contained in:
Leonetienne
2021-12-13 15:56:24 +01:00
parent ad2060133b
commit 3750e96a5f
3 changed files with 65 additions and 41 deletions

View File

@@ -191,6 +191,13 @@ void GhettoCipher::Feistel::GenerateRoundKeys(const Block& seedKey)
return;
}
// These pragmas only work for MSVC and g++, as far as i know. Beware!!!
#if defined _WIN32 || defined _WIN64
#pragma optimize("", off )
#elif defined __GNUG__
#pragma GCC push_options
#pragma GCC optimize ("O0")
#endif
void GhettoCipher::Feistel::ZeroKeyMemory()
{
for (Block& key : roundKeys)
@@ -198,3 +205,8 @@ void GhettoCipher::Feistel::ZeroKeyMemory()
return;
}
#if defined _WIN32 || defined _WIN64
#pragma optimize("", on )
#elif defined __GNUG__
#pragma GCC pop_options
#endif