[PATCH] kdf: Avoid redundant memcpy()
Gary Lin
glin at suse.com
Tue Sep 2 09:14:27 CEST 2025
* 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)
--
2.51.0
More information about the Gcrypt-devel
mailing list