mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-09 06:01:32 +00:00
don't break strict-aliasing rules
This commit is contained in:
parent
596befff74
commit
2fe11d4fe8
@ -32,6 +32,10 @@ void CryptoEngine::decrypt(uint32_t fromNode, uint64_t packetNum, size_t numByte
|
|||||||
void CryptoEngine::initNonce(uint32_t fromNode, uint64_t packetNum)
|
void CryptoEngine::initNonce(uint32_t fromNode, uint64_t packetNum)
|
||||||
{
|
{
|
||||||
memset(nonce, 0, sizeof(nonce));
|
memset(nonce, 0, sizeof(nonce));
|
||||||
*((uint64_t *)&nonce[0]) = packetNum;
|
|
||||||
*((uint32_t *)&nonce[8]) = fromNode;
|
// use memcpy to avoid breaking strict-aliasing
|
||||||
|
memcpy(nonce, &packetNum, sizeof(uint64_t));
|
||||||
|
memcpy(nonce + sizeof(uint64_t), &fromNode, sizeof(uint32_t));
|
||||||
|
//*((uint64_t *)&nonce[0]) = packetNum;
|
||||||
|
//*((uint32_t *)&nonce[8]) = fromNode;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user