From ca57d78a6e0ae3e51e0740ed5ef9530d160f8aab Mon Sep 17 00:00:00 2001 From: Gilles Peskine <Gilles.Peskine@arm.com> Date: Thu, 20 Jul 2023 19:08:06 +0200 Subject: [PATCH] Fix PBKDF2 with empty salt on platforms where malloc(0)=NULL Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com> --- library/psa_crypto.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/library/psa_crypto.c b/library/psa_crypto.c index 8c4d8603b8..c67094026b 100644 --- a/library/psa_crypto.c +++ b/library/psa_crypto.c @@ -6679,7 +6679,9 @@ static psa_status_t psa_pbkdf2_set_salt(psa_pbkdf2_key_derivation_t *pbkdf2, return PSA_ERROR_BAD_STATE; } - if (pbkdf2->state == PSA_PBKDF2_STATE_INPUT_COST_SET) { + if (data_length == 0) { + /* Nothing to do */ + } else if (pbkdf2->state == PSA_PBKDF2_STATE_INPUT_COST_SET) { pbkdf2->salt = mbedtls_calloc(1, data_length); if (pbkdf2->salt == NULL) { return PSA_ERROR_INSUFFICIENT_MEMORY;