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_blake2xb_init0.c | |
| parent | Fix alignment issues found by gcc santizer, and aliasing issue (diff) | |
| download | libblake-4ad308fca3010379cb4a47023635fb2fcabb63a3.tar.gz libblake-4ad308fca3010379cb4a47023635fb2fcabb63a3.tar.bz2 libblake-4ad308fca3010379cb4a47023635fb2fcabb63a3.tar.xz | |
Fix undefined behaviour3.0.2
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
| -rw-r--r-- | libblake_internal_blake2xb_init0.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libblake_internal_blake2xb_init0.c b/libblake_internal_blake2xb_init0.c index de1980f..66b80dc 100644 --- a/libblake_internal_blake2xb_init0.c +++ b/libblake_internal_blake2xb_init0.c @@ -59,6 +59,7 @@ libblake_internal_blake2xb_init0(struct libblake_blake2xb_state *state, const st state->b2b.h[1] ^= le64(ALIGNED_U64(params, 1)); state->b2b.h[2] ^= le64(((uint_least64_t)params->node_depth << 0) | ((uint_least64_t)params->inner_len << 8)); + /* unlike BLAKE2b, BLAKE2Xb does not align .salt and .pepper to 64-bits, but 32-bits */ state->b2b.h[4] ^= le64(UNALIGNED_U64(params->salt, 0)); state->b2b.h[5] ^= le64(UNALIGNED_U64(params->salt, 1)); state->b2b.h[6] ^= le64(UNALIGNED_U64(params->pepper, 0)); |
