psa_util: fix for correctly computing elements in array

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2023-03-27 14:02:08 +02:00 committed by Andrzej Kurek
parent a33da45009
commit ab9dc667ff
2 changed files with 5 additions and 4 deletions

View file

@ -388,8 +388,10 @@ int psa_status_to_mbedtls(psa_status_t status,
int psa_pk_status_to_mbedtls(psa_status_t status); int psa_pk_status_to_mbedtls(psa_status_t status);
/* Utility macro to shorten the defines of error translator in modules. */ /* Utility macro to shorten the defines of error translator in modules. */
#define PSA_TO_MBEDTLS_ERR_LIST(status, error_list, fallback_f) \ #define PSA_TO_MBEDTLS_ERR_LIST(status, error_list, fallback_f) \
psa_status_to_mbedtls(status, error_list, sizeof(error_list), fallback_f) psa_status_to_mbedtls(status, error_list, \
sizeof(error_list)/sizeof(error_list[0]), \
fallback_f)
#endif /* MBEDTLS_PSA_CRYPTO_C */ #endif /* MBEDTLS_PSA_CRYPTO_C */
#endif /* MBEDTLS_PSA_UTIL_H */ #endif /* MBEDTLS_PSA_UTIL_H */

View file

@ -112,10 +112,9 @@ int psa_generic_status_to_mbedtls(psa_status_t status)
int psa_status_to_mbedtls(psa_status_t status, int psa_status_to_mbedtls(psa_status_t status,
const mbedtls_error_pair_t *local_translations, const mbedtls_error_pair_t *local_translations,
size_t local_errors_size, size_t local_errors_num,
int (*fallback_f)(psa_status_t)) int (*fallback_f)(psa_status_t))
{ {
size_t local_errors_num = (size_t) local_errors_size / 2;
for (size_t i = 0; i < local_errors_num; i++) { for (size_t i = 0; i < local_errors_num; i++) {
if (status == local_translations[i].psa_status) { if (status == local_translations[i].psa_status) {
return local_translations[i].mbedtls_error; return local_translations[i].mbedtls_error;