X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbasic%2Fsiphash24.c;h=c7c465e5cedf8adac525ce8a3affbe60ee5fa51c;hb=b96ed50e3493103d075ff2ce4c3fbad8f26b2e22;hp=fa94f80ae8ed49d239bfe1d2a6c2045665792511;hpb=d2338db3145922b1dfcb3b458e5bce2568a9347a;p=elogind.git diff --git a/src/basic/siphash24.c b/src/basic/siphash24.c index fa94f80ae..c7c465e5c 100644 --- a/src/basic/siphash24.c +++ b/src/basic/siphash24.c @@ -20,6 +20,7 @@ #include "sparse-endian.h" #include "siphash24.h" +#include "unaligned.h" #include "util.h" static inline uint64_t rotate_left(uint64_t x, uint8_t b) { @@ -104,7 +105,7 @@ void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) { end -= ( state->inlen % sizeof (uint64_t) ); for ( ; in < end; in += 8 ) { - m = le64toh(*(le64_t*) in); + m = unaligned_read_le64(in); #ifdef DEBUG printf("(%3zu) v0 %08x %08x\n", state->inlen, (uint32_t) (state->v0 >> 32), (uint32_t) state->v0); printf("(%3zu) v1 %08x %08x\n", state->inlen, (uint32_t) (state->v1 >> 32), (uint32_t) state->v1);