_hppa_unaligned_access_fix_458133
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Sat, 5 May 2018 01:53:17 +0000 (02:53 +0100)
committerLisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
Sat, 5 May 2018 01:53:17 +0000 (02:53 +0100)
Fix unaligned access on hppa

Gbp-Pq: Name 71_hppa_unaligned_access_fix_458133.diff

src/3rdparty/sha1/sha1.cpp

index 2201258b762a153124f93df86b80acc01c25345c..84a860bf2cbe5f446066a29d1b567727a0215f3a 100644 (file)
@@ -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<Sha1Chunk*>(&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
 }