]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
contrib/murmurhash3: fix bad type punning
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 19 Feb 2019 18:06:07 +0000 (19:06 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 5 Mar 2019 16:01:41 +0000 (17:01 +0100)
contrib/murmurhash3/murmurhash3.c

index 06ed7d84bb81ffad3169413d732dd54b4bb6bbb8..ac28f6993816fa14ae5034a15967724d6b76c933 100644 (file)
@@ -2,6 +2,7 @@
  * by its author, Austin Appleby. */
 
 #include "murmurhash3.h"
+#include "string.h"
 
 static inline uint32_t fmix(uint32_t h)
 {
@@ -32,12 +33,11 @@ uint32_t hash(const char* data, size_t len_)
     //----------
     // body
 
-    const uint32_t * blocks = (const uint32_t*) (data + nblocks * 4);
-
     int i;
     for(i = -nblocks; i; i++)
     {
-        uint32_t k1 = blocks[i];
+        uint32_t k1;
+        memcpy(&k1, data + nblocks * 4 + i * sizeof(k1), sizeof(k1));
 
         k1 *= c1;
         k1 = rotl32(k1, 15);