Re: [PATCH] kdf: Avoid redundant memcpy()
Jussi Kivilinna <[email protected]> Thu, 25 Sep 2025 09:28:22 +0300
| Newsgroups | gmane.comp.encryption.gpg.libgcrypt.devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> > --- > 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)