fix UB in ComputeSHA-1 (#5957)

This commit is contained in:
Timothy Fiss 2026-07-06 10:35:02 -06:00 • committed by GitHub
commit 3d640698d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3379,10 +3379,10 @@ unsigned int *ComputeSHA1(const unsigned char *data, int dataSize)
unsigned int w[80] = { 0 }; unsigned int w[80] = { 0 };
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
{ {
w[i] = (msg[offset + (i*4) + 0] << 24) | w[i] = ((unsigned int)msg[offset + (i*4) + 0] << 24) |
(msg[offset + (i*4) + 1] << 16) | ((unsigned int)msg[offset + (i*4) + 1] << 16) |
(msg[offset + (i*4) + 2] << 8) | ((unsigned int)msg[offset + (i*4) + 2] << 8) |
(msg[offset + (i*4) + 3]); ((unsigned int)msg[offset + (i*4) + 3]);
} }
// Message schedule: extend the sixteen 32-bit words into eighty 32-bit words: // Message schedule: extend the sixteen 32-bit words into eighty 32-bit words: