From b3f20da31382568f99a4f5c08239bf00b985c617 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Tue, 4 Apr 2023 11:19:33 +0200 Subject: [PATCH] test: fix error handling in the new pk_genkey_ec() function Signed-off-by: Valerio Setti --- tests/suites/test_suite_pk.function | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function index f09cc94c4..2e374fe85 100644 --- a/tests/suites/test_suite_pk.function +++ b/tests/suites/test_suite_pk.function @@ -48,30 +48,28 @@ static int pk_genkey_ec(mbedtls_ecp_group *grp, status = psa_export_key(key_id, key_buf, sizeof(key_buf), &key_len); if (status != PSA_SUCCESS) { - psa_destroy_key(key_id); - return MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE; + ret = MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE; + goto exit; } ret = mbedtls_mpi_read_binary(d, key_buf, key_len); if (ret != 0) { - return ret; + goto exit; } status = psa_export_public_key(key_id, key_buf, sizeof(key_buf), &key_len); if (status != PSA_SUCCESS) { - psa_destroy_key(key_id); - return MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE; + ret = MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE; + goto exit; } ret = mbedtls_ecp_point_read_binary(grp, Q, key_buf, key_len); - if (ret != 0) { - return ret; - } +exit: psa_destroy_key(key_id); - return 0; + return ret; } /** Generate a key of the desired type.