From 0b2bd071f8de72e9ce144d47dab32e8e942adda0 Mon Sep 17 00:00:00 2001 From: David Horstmann Date: Wed, 21 Aug 2024 15:38:44 +0100 Subject: [PATCH] Add overflow check for maximum key slot length Signed-off-by: David Horstmann --- tf-psa-crypto/core/psa_crypto_slot_management.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tf-psa-crypto/core/psa_crypto_slot_management.c b/tf-psa-crypto/core/psa_crypto_slot_management.c index 7857aad77a..216e0c27cf 100644 --- a/tf-psa-crypto/core/psa_crypto_slot_management.c +++ b/tf-psa-crypto/core/psa_crypto_slot_management.c @@ -111,6 +111,11 @@ MBEDTLS_STATIC_ASSERT(PSA_KEY_ID_VOLATILE_MAX < MBEDTLS_PSA_KEY_ID_BUILTIN_MIN | #error "Slice index does not fit in uint8_t for psa_key_slot_t::slice_index" #endif +MBEDTLS_STATIC_ASSERT((KEY_SLOT_VOLATILE_SLICE_BASE_LENGTH + & (SIZE_MAX >> (KEY_SLOT_VOLATILE_SLICE_COUNT - 1))) + == KEY_SLOT_VOLATILE_SLICE_BASE_LENGTH, + "Maximum slice length overflows size_t"); + /* Calculate the volatile key id to use for a given slot. * This function assumes valid parameter values. */