diff options
| author | Quentin Carbonneaux | 2022-02-24 09:51:31 +0100 |
|---|---|---|
| committer | Quentin Carbonneaux | 2022-02-24 09:54:17 +0100 |
| commit | 4e9fa669b54f35634ca378d92666e7d6df755273 (patch) | |
| tree | 42b56304f5e02ba069f67c5aa7a23eb7dafe3d8d | |
| parent | 90f0b63f77a642061222aa90dfecf3eac5a2e895 (diff) | |
smix: do not break C aliasing rules
| -rw-r--r-- | sdar/lib/crypto/smix.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sdar/lib/crypto/smix.c b/sdar/lib/crypto/smix.c index 34068a1..9166d2e 100644 --- a/sdar/lib/crypto/smix.c +++ b/sdar/lib/crypto/smix.c @@ -27,6 +27,7 @@ * online backup system. */ #include "../../all.h" +#include <string.h> static void blkcpy(void *, const void *, size_t); static void blkxor(void *, const void *, size_t); @@ -37,24 +38,17 @@ static uint64_t integerify(const void *, size_t); static void blkcpy(void * dest, const void * src, size_t len) { - size_t * D = dest; - const size_t * S = src; - size_t L = len / sizeof(size_t); - size_t i; - - for (i = 0; i < L; i++) - D[i] = S[i]; + memcpy(dest, src, len); } static void blkxor(void * dest, const void * src, size_t len) { - size_t * D = dest; - const size_t * S = src; - size_t L = len / sizeof(size_t); + uint8_t * D = dest; + const uint8_t * S = src; size_t i; - for (i = 0; i < L; i++) + for (i = 0; i < len; i++) D[i] ^= S[i]; } |
