crypto_extra: revert changes to mbedtls_psa_random_free()
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 6caab03..c90119f 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -7327,16 +7327,14 @@
/** Deinitialize the PSA random generator.
*/
-void mbedtls_psa_random_free(void)
+static void mbedtls_psa_random_free(mbedtls_psa_random_context_t *rng)
{
- if (global_data.rng_state != RNG_NOT_INITIALIZED) {
#if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
- memset(&global_data.rng, 0, sizeof(global_data.rng));
+ memset(rng, 0, sizeof(*rng));
#else /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
- mbedtls_psa_drbg_free(MBEDTLS_PSA_RANDOM_STATE);
- global_data.rng.entropy_free(&global_data.rng.entropy);
+ mbedtls_psa_drbg_free(MBEDTLS_PSA_RANDOM_STATE);
+ rng->entropy_free(&rng->entropy);
#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
- }
}
/** Seed the PSA random generator.
@@ -7663,7 +7661,9 @@
void mbedtls_psa_crypto_free(void)
{
psa_wipe_all_key_slots();
- mbedtls_psa_random_free();
+ if (global_data.rng_state != RNG_NOT_INITIALIZED) {
+ mbedtls_psa_random_free(&global_data.rng);
+ }
/* Wipe all remaining data, including configuration.
* In particular, this sets all state indicator to the value
* indicating "uninitialized". */