From 4ad308fca3010379cb4a47023635fb2fcabb63a3 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 17 May 2026 19:52:13 +0200 Subject: Fix undefined behaviour MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libblake_internal_blake2xb_init0.c | 1 + 1 file changed, 1 insertion(+) (limited to 'libblake_internal_blake2xb_init0.c') 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)); -- cgit v1.3.1