projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
libhashkit: fix UB on unaligned access
[awesomized/libmemcached]
/
libhashkit
/
murmur.cc
diff --git
a/libhashkit/murmur.cc
b/libhashkit/murmur.cc
index 3bdacf0e4e8a2e3371af9af3f28fd4ff1ca72b4b..f3e8fe6ac7eebcca2d92d72e69d19e249aed2934 100644
(file)
--- a/
libhashkit/murmur.cc
+++ b/
libhashkit/murmur.cc
@@
-56,6
+56,8
@@
#ifdef HAVE_MURMUR_HASH
#ifdef HAVE_MURMUR_HASH
+#include <cstring>
+
uint32_t hashkit_murmur(const char *key, size_t length, void *context)
{
/*
uint32_t hashkit_murmur(const char *key, size_t length, void *context)
{
/*
@@
-79,7
+81,8
@@
uint32_t hashkit_murmur(const char *key, size_t length, void *context)
while(length >= 4)
{
while(length >= 4)
{
- unsigned int k = *(unsigned int *)data;
+ unsigned int k;
+ memcpy(&k, data, sizeof(unsigned int));
k *= m;
k ^= k >> r;
k *= m;
k ^= k >> r;