aboutsummaryrefslogtreecommitdiffstats
path: root/libblake_internal_blake2xs_init0.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-17 19:52:13 +0200
committerMattias Andrée <m@maandree.se>2026-05-17 19:52:13 +0200
commit4ad308fca3010379cb4a47023635fb2fcabb63a3 (patch)
tree37318829e4ee505509116eae697cfda22345accb /libblake_internal_blake2xs_init0.c
parentFix alignment issues found by gcc santizer, and aliasing issue (diff)
downloadlibblake-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 'libblake_internal_blake2xs_init0.c')
-rw-r--r--libblake_internal_blake2xs_init0.c16
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