[PATCH] kdf: Avoid redundant memcpy()

Jussi Kivilinna jussi.kivilinna at iki.fi
Thu Sep 25 08:28:22 CEST 2025


Hello,

Thanks for the patch. Before this can be applied, we'd need "DCO" from you.

Please check doc/HACKING for "License policy" and about sending "Libgcrypt Developer's Certificate of Origin".

-Jussi

On 02/09/2025 10:14, Gary Lin via Gcrypt-devel wrote:
> * cipher/kdf.c (fill_block): Xor 'ref_block' and 'prev_block' directly to
>    avoid a redundant memcpy().
> 
> Signed-off-by: Gary Lin <glin at suse.com>
> ---
>   cipher/kdf.c | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/cipher/kdf.c b/cipher/kdf.c
> index 71156ea4..16cec4e4 100644
> --- a/cipher/kdf.c
> +++ b/cipher/kdf.c
> @@ -588,9 +588,14 @@ fill_block (const u64 *prev_block, const u64 *ref_block, u64 *curr_block,
>     u64 block_tmp[ARGON2_WORDS_IN_BLOCK];
>     int i;
>   
> -  memcpy (block_r, ref_block, 1024);
>     if (prev_block)
> -    xor_block (block_r, prev_block);
> +    {
> +      for (i = 0; i < ARGON2_WORDS_IN_BLOCK; i++)
> +        block_r[i] = ref_block[i] ^ prev_block[i];
> +    }
> +  else
> +    memcpy (block_r, ref_block, 1024);
> +
>     memcpy (block_tmp, block_r, 1024);
>   
>     if (with_xor)




More information about the Gcrypt-devel mailing list