diff options
| author | Mattias Andrée <m@maandree.se> | 2026-05-17 19:52:13 +0200 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-05-17 19:52:13 +0200 |
| commit | 4ad308fca3010379cb4a47023635fb2fcabb63a3 (patch) | |
| tree | 37318829e4ee505509116eae697cfda22345accb /libblake_internal_blake2xs_init0.c | |
| parent | Fix alignment issues found by gcc santizer, and aliasing issue (diff) | |
| download | libblake-3.0.2.tar.gz libblake-3.0.2.tar.bz2 libblake-3.0.2.tar.xz | |
Fix undefined behaviour3.0.2
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
| -rw-r--r-- | libblake_internal_blake2xs_init0.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libblake_internal_blake2xs_init0.c b/libblake_internal_blake2xs_init0.c index bde760f..ed4b3e0 100644 --- a/libblake_internal_blake2xs_init0.c +++ b/libblake_internal_blake2xs_init0.c @@ -38,14 +38,14 @@ libblake_internal_blake2xs_init0(struct libblake_blake2xs_state *state, const st # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wcast-align" #endif - state->b2s.h[0] ^= le32(((const uint_least32_t *)params)[0]); - state->b2s.h[1] ^= le32(((const uint_least32_t *)params)[1]); - state->b2s.h[2] ^= le32(((const uint_least32_t *)params)[2]); - state->b2s.h[3] ^= le32(((const uint_least32_t *)params)[3]); - state->b2s.h[4] ^= le32(((const uint_least32_t *)params)[4]); - state->b2s.h[5] ^= le32(((const uint_least32_t *)params)[5]); - state->b2s.h[6] ^= le32(((const uint_least32_t *)params)[6]); - state->b2s.h[7] ^= le32(((const uint_least32_t *)params)[7]); + state->b2s.h[0] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[0]); + state->b2s.h[1] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[1]); + state->b2s.h[2] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[2]); + state->b2s.h[3] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[3]); + state->b2s.h[4] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[4]); + state->b2s.h[5] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[5]); + state->b2s.h[6] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[6]); + state->b2s.h[7] ^= le32(((const uint_least32_t *)(const unsigned char *)params)[7]); #if defined(__clang__) # pragma clang diagnostic pop #endif |
