diff options
| author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-10-25 21:15:19 +0000 |
|---|---|---|
| committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-10-29 22:26:44 +0000 |
| commit | db24a2e50934010ca0638c28920645365d1b8130 (patch) | |
| tree | d2ecae298703928d0f05b52bfc71d09db397af1f /src | |
| parent | 4cbb476cd1f215926d3cc2b4ff6f397ffa5f347b (diff) | |
| download | monzero-core-db24a2e50934010ca0638c28920645365d1b8130.tar.gz monzero-core-db24a2e50934010ca0638c28920645365d1b8130.tar.xz monzero-core-db24a2e50934010ca0638c28920645365d1b8130.zip | |
hash: fix hash_permutation on big endian
Diffstat (limited to 'src')
| -rw-r--r-- | src/crypto/hash.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/crypto/hash.c b/src/crypto/hash.c index 42f272e34..43ce32957 100644 --- a/src/crypto/hash.c +++ b/src/crypto/hash.c @@ -36,7 +36,14 @@ #include "keccak.h" void hash_permutation(union hash_state *state) { +#if BYTE_ORDER == LITTLE_ENDIAN keccakf((uint64_t*)state, 24); +#else + uint64_t le_state[25]; + memcpy_swap64le(le_state, state, 25); + keccakf(le_state, 24); + memcpy_swap64le(state, le_state, 25); +#endif } void hash_process(union hash_state *state, const uint8_t *buf, size_t count) { |
