author: Bernhard R. Link Fix unaligned access on hppa --- a/src/3rdparty/sha1/sha1.cpp +++ b/src/3rdparty/sha1/sha1.cpp @@ -144,10 +144,10 @@ static inline void sha1ProcessChunk(Sha1 quint32 d = state->h3; quint32 e = state->h4; - quint8 chunkBuffer[64]; - memcpy(chunkBuffer, buffer, 64); + Sha1Chunk chunkBuffer; + memcpy(chunkBuffer.bytes, buffer, 64); - Sha1Chunk *chunk = reinterpret_cast(&chunkBuffer); + Sha1Chunk *chunk = &chunkBuffer; for (int i = 0; i < 16; ++i) chunk->words[i] = qFromBigEndian(chunk->words[i]); @@ -183,7 +183,7 @@ static inline void sha1ProcessChunk(Sha1 // Wipe variables #ifdef SHA1_WIPE_VARIABLES a = b = c = d = e = 0; - memset(chunkBuffer, 0, 64); + memset(chunkBuffer.bytes, 0, 64); #endif }