From: Debian Qt/KDE Maintainers Date: Fri, 1 May 2015 19:35:39 +0000 (+0000) Subject: _hppa_unaligned_access_fix_458133 X-Git-Tag: archive/raspbian/4%4.8.6+git64-g5dc8b2b+dfsg-3+deb8u2+rpi1~1^2~21 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e97ea26f1009b8bb19abbe400c1bc55da7fe6d35;p=qt4-x11.git _hppa_unaligned_access_fix_458133 Fix unaligned access on hppa Gbp-Pq: Name 71_hppa_unaligned_access_fix_458133.diff --- diff --git a/src/3rdparty/sha1/sha1.cpp b/src/3rdparty/sha1/sha1.cpp index a55843e55..ef079807e 100644 --- a/src/3rdparty/sha1/sha1.cpp +++ b/src/3rdparty/sha1/sha1.cpp @@ -150,10 +150,10 @@ static inline void sha1ProcessChunk(Sha1State *state, const unsigned char *buffe 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]); @@ -189,7 +189,7 @@ static inline void sha1ProcessChunk(Sha1State *state, const unsigned char *buffe // Wipe variables #ifdef SHA1_WIPE_VARIABLES a = b = c = d = e = 0; - memset(chunkBuffer, 0, 64); + memset(chunkBuffer.bytes, 0, 64); #endif }