From a17b6bb5fe6a3e12ef359cc4c214cf7a7785bd88 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 1 Feb 2014 03:38:56 +0100 Subject: Issue #20162: Fix an alignment issue in the siphash24() hash function which caused a crash on PowerPC 64-bit (ppc64). --- Misc/NEWS | 3 +++ Python/pyhash.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index 680b662..78b6bea 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ Release date: 2014-02-09 Core and Builtins ----------------- +- Issue #20162: Fix an alignment issue in the siphash24() hash function which + caused a crash on PowerPC 64-bit (ppc64). + Library ------- diff --git a/Python/pyhash.c b/Python/pyhash.c index 19aeeb7..97cb547 100644 --- a/Python/pyhash.c +++ b/Python/pyhash.c @@ -399,7 +399,7 @@ siphash24(const void *src, Py_ssize_t src_sz) { case 7: pt[6] = m[6]; case 6: pt[5] = m[5]; case 5: pt[4] = m[4]; - case 4: *((PY_UINT32_T*)&pt[0]) = *((PY_UINT32_T*)&m[0]); break; + case 4: Py_MEMCPY(pt, m, sizeof(PY_UINT32_T)); break; case 3: pt[2] = m[2]; case 2: pt[1] = m[1]; case 1: pt[0] = m[0]; -- cgit v0.12