summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/pyhash.c2
2 files changed, 4 insertions, 1 deletions
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];