-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
hashingupstreamThe issue is with an upstream dependency, e.g. LLVMThe issue is with an upstream dependency, e.g. LLVM
Description
Our implementation of MurmurHash3 has:
julia/src/support/MurmurHash3.c
Lines 60 to 63 in ed37984
| FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, int i ) | |
| { | |
| return p[i]; | |
| } |
However, the pointer is not necessarily properly aligned, making this undefined behavior.
The proper fix is to stop casting to an invalid pointer type and to use memcpy, which all modern compiler optimize to a proper sequence for unaligned access.
This is the same issue as grpc/grpc#13221
Metadata
Metadata
Assignees
Labels
hashingupstreamThe issue is with an upstream dependency, e.g. LLVMThe issue is with an upstream dependency, e.g. LLVM