bpo-28055: Fix unaligned accesses in siphash24(). (GH-6123)


The hash implementation casts the input pointer to uint64_t* and directly reads
from this, which may cause unaligned accesses. Use memcpy() instead so this code
will not crash with SIGBUS on sparc.

https://bugs.gentoo.org/show_bug.cgi?id=636400
(cherry picked from commit 1e2ec8a996daec65d8d5a3d43b66a9909c6d0653)

Co-authored-by: Rolf Eike Beer <eike@sf-mail.de>
2 files changed