From 55b8bb43e7dddbfab42aed1f14328d3e3d55b716 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Tue, 8 Apr 2025 09:44:34 +0200 Subject: [PATCH 1/2] Check the status of mbedtls_ssl_set_hostname() Signed-off-by: Gilles Peskine --- tests/src/test_helpers/ssl_helpers.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/src/test_helpers/ssl_helpers.c b/tests/src/test_helpers/ssl_helpers.c index 91efd1c813..6c5d50c47d 100644 --- a/tests/src/test_helpers/ssl_helpers.c +++ b/tests/src/test_helpers/ssl_helpers.c @@ -865,6 +865,7 @@ int mbedtls_test_ssl_endpoint_init( if (MBEDTLS_SSL_IS_CLIENT == endpoint_type) { ret = mbedtls_ssl_set_hostname(&(ep->ssl), "localhost"); + TEST_EQUAL(ret, 0); } #if defined(MBEDTLS_SSL_PROTO_DTLS) && defined(MBEDTLS_SSL_SRV_C) From 946bf1460870116651262c4a8e7c9fdc8922795d Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Tue, 8 Apr 2025 09:48:40 +0200 Subject: [PATCH 2/2] Fix some test helper functions returning 0 on some failures Signed-off-by: Gilles Peskine --- tests/src/test_helpers/ssl_helpers.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/src/test_helpers/ssl_helpers.c b/tests/src/test_helpers/ssl_helpers.c index 6c5d50c47d..445f2eba9b 100644 --- a/tests/src/test_helpers/ssl_helpers.c +++ b/tests/src/test_helpers/ssl_helpers.c @@ -611,6 +611,7 @@ int mbedtls_test_ssl_endpoint_certificate_init(mbedtls_test_ssl_endpoint *ep, { int i = 0; int ret = -1; + int ok = 0; mbedtls_test_ssl_endpoint_certificate *cert = NULL; #if defined(MBEDTLS_USE_PSA_CRYPTO) mbedtls_svc_key_id_t key_slot = MBEDTLS_SVC_KEY_ID_INIT; @@ -733,7 +734,13 @@ int mbedtls_test_ssl_endpoint_certificate_init(mbedtls_test_ssl_endpoint *ep, cert->pkey); TEST_ASSERT(ret == 0); + ok = 1; + exit: + if (ret == 0 && !ok) { + /* Exiting due to a test assertion that isn't ret == 0 */ + ret = -1; + } if (ret != 0) { test_ssl_endpoint_certificate_free(ep); } @@ -902,7 +909,13 @@ int mbedtls_test_ssl_endpoint_init( TEST_EQUAL(mbedtls_ssl_get_user_data_n(&ep->ssl), user_data_n); mbedtls_ssl_set_user_data_p(&ep->ssl, ep); + return 0; + exit: + if (ret == 0) { + /* Exiting due to a test assertion that isn't ret == 0 */ + ret = -1; + } return ret; } @@ -2542,6 +2555,7 @@ int mbedtls_test_get_tls13_ticket( mbedtls_ssl_session *session) { int ret = -1; + int ok = 0; unsigned char buf[64]; mbedtls_test_ssl_endpoint client_ep, server_ep; @@ -2578,10 +2592,16 @@ int mbedtls_test_get_tls13_ticket( ret = mbedtls_ssl_get_session(&(client_ep.ssl), session); TEST_EQUAL(ret, 0); + ok = 1; + exit: mbedtls_test_ssl_endpoint_free(&client_ep, NULL); mbedtls_test_ssl_endpoint_free(&server_ep, NULL); + if (ret == 0 && !ok) { + /* Exiting due to a test assertion that isn't ret == 0 */ + ret = -1; + } return ret; } #endif /* MBEDTLS_SSL_CLI_C && MBEDTLS_SSL_SRV_C &&