From d7a3f8065f7a274ed267b59798977979acd3b68c Mon Sep 17 00:00:00 2001 From: Kusumit Ghoderao Date: Wed, 24 May 2023 22:19:47 +0530 Subject: [PATCH] Restructure set salt function Signed-off-by: Kusumit Ghoderao --- library/psa_crypto.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/psa_crypto.c b/library/psa_crypto.c index 4cce837c5..f3699d41b 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -6451,18 +6451,18 @@ static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t *pbkdf2, memcpy(pbkdf2->salt, data, data_length); pbkdf2->salt_length = data_length; } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) { - uint8_t *prev_salt = pbkdf2->salt; - size_t prev_salt_length = pbkdf2->salt_length; + uint8_t *next_salt; - pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length); - if (pbkdf2->salt == NULL) { + next_salt = mbedtls_calloc(1, data_length + pbkdf2->salt_length); + if (next_salt == NULL) { return PSA_ERROR_INSUFFICIENT_MEMORY; } - memcpy(pbkdf2->salt, prev_salt, prev_salt_length); - memcpy(pbkdf2->salt + prev_salt_length, data, data_length); + memcpy(next_salt, pbkdf2->salt, pbkdf2->salt_length); + memcpy(next_salt + pbkdf2->salt_length, data, data_length); pbkdf2->salt_length += data_length; - mbedtls_free(prev_salt); + mbedtls_free(pbkdf2->salt); + pbkdf2->salt = next_salt; } pbkdf2->state = PSA_PBKDF2_STATE_SALT_SET;