1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-08-05 19:35:48 +03:00

Restructure pbkdf2_set_salt function

Signed-off-by: Kusumit Ghoderao <Kusumit.Ghoderao@silabs.com>
This commit is contained in:
Kusumit Ghoderao
2023-05-24 12:32:14 +05:30
parent e66a8ad8d6
commit b538bb7a02

View File

@@ -6437,9 +6437,6 @@ static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t *pbkdf2,
const uint8_t *data, const uint8_t *data,
size_t data_length) size_t data_length)
{ {
uint8_t *prev_salt;
size_t prev_salt_length;
if (pbkdf2->state != PSA_PBKDF2_STATE_INPUT_COST_SET && if (pbkdf2->state != PSA_PBKDF2_STATE_INPUT_COST_SET &&
pbkdf2->state != PSA_PBKDF2_STATE_SALT_SET) { pbkdf2->state != PSA_PBKDF2_STATE_SALT_SET) {
return PSA_ERROR_BAD_STATE; return PSA_ERROR_BAD_STATE;
@@ -6454,16 +6451,16 @@ static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t *pbkdf2,
memcpy(pbkdf2->salt, data, data_length); memcpy(pbkdf2->salt, data, data_length);
pbkdf2->salt_length = data_length; pbkdf2->salt_length = data_length;
} else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) { } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) {
prev_salt = pbkdf2->salt; uint8_t *prev_salt = pbkdf2->salt;
prev_salt_length = pbkdf2->salt_length; size_t prev_salt_length = pbkdf2->salt_length;
pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length); pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length);
if (pbkdf2->salt == NULL) { if (pbkdf2->salt == NULL) {
return PSA_ERROR_INSUFFICIENT_MEMORY; return PSA_ERROR_INSUFFICIENT_MEMORY;
} }
memcpy(pbkdf2->salt, prev_salt, prev_salt_length); memcpy(pbkdf2->salt, prev_salt, prev_salt_length);
memcpy(pbkdf2->salt + prev_salt_length, data, memcpy(pbkdf2->salt + prev_salt_length, data, data_length);
data_length);
pbkdf2->salt_length += data_length; pbkdf2->salt_length += data_length;
mbedtls_free(prev_salt); mbedtls_free(prev_salt);
} }