Mercurial > repos > blastem
comparison hash.c @ 2346:0111c8344477
Fix some issues identified by asan/ubsan
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 07 Oct 2023 18:04:35 -0700 |
parents | 5ceb316c479a |
children |
comparison
equal
deleted
inserted
replaced
2345:c76c81c21ae5 | 2346:0111c8344477 |
---|---|
24 { | 24 { |
25 uint32_t state[5], w[80]; | 25 uint32_t state[5], w[80]; |
26 memcpy(state, hash, sizeof(state)); | 26 memcpy(state, hash, sizeof(state)); |
27 for (uint32_t src = 0; src < 64; src += 4) | 27 for (uint32_t src = 0; src < 64; src += 4) |
28 { | 28 { |
29 w[src >> 2] = chunk[src] << 24 | chunk[src+1] << 16 | chunk[src+2] << 8 | chunk[src+3]; | 29 w[src >> 2] = ((uint32_t)chunk[src]) << 24 | chunk[src+1] << 16 | chunk[src+2] << 8 | chunk[src+3]; |
30 } | 30 } |
31 for (uint32_t cur = 16; cur < 80; cur++) | 31 for (uint32_t cur = 16; cur < 80; cur++) |
32 { | 32 { |
33 w[cur] = rotleft(w[cur-3] ^ w[cur-8] ^ w[cur-14] ^ w[cur-16], 1); | 33 w[cur] = rotleft(w[cur-3] ^ w[cur-8] ^ w[cur-14] ^ w[cur-16], 1); |
34 } | 34 } |