Hey Eric, On Wed, Sep 19, 2018 at 2:41 AM Eric Biggers <ebiggers@xxxxxxxxxx> wrote: > This buffer is 4 times too long. Nice catch. > Or how about something much simpler: > > static inline void blake2s_final(struct blake2s_state *state, u8 *out, > const size_t outlen) > { > #ifdef DEBUG > BUG_ON(!out || !outlen || outlen > BLAKE2S_OUTBYTES); > #endif > __blake2s_final(state); > > cpu_to_le32_array(state->h, ARRAY_SIZE(state->h)); > memcpy(out, state->h, outlen); > > memzero_explicit(state, sizeof(*state)); > } Oh, that's excellent, thanks. Much better than prior. I'll do exactly that. Jason