Fix populate_session() and its usage in tests
Not checking the return value allowed a bug to go undetected, fix the bug and
check the return value.
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
index 8a184d0..61c17e1 100644
--- a/tests/suites/test_suite_ssl.function
+++ b/tests/suites/test_suite_ssl.function
@@ -288,6 +288,11 @@
if( strlen( crt_file ) != 0 )
{
int ret;
+
+ session->peer_cert = mbedtls_calloc( 1, sizeof( *session->peer_cert ) );
+ if( session->peer_cert == NULL )
+ return( -1 );
+
ret = mbedtls_x509_crt_parse_file( session->peer_cert, crt_file );
if( ret != 0 )
return( ret );
@@ -677,7 +682,7 @@
mbedtls_ssl_session_init( &session );
/* Prepare a dummy session to work on */
- ssl_populate_session( &session, ticket_len, crt_file );
+ TEST_ASSERT( ssl_populate_session( &session, ticket_len, crt_file ) == 0 );
/* Get desired buffer size for serialising */
TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &len0 )
@@ -727,7 +732,7 @@
mbedtls_ssl_session_init( &session );
/* Prepare dummy session and get serialised size */
- ssl_populate_session( &session, ticket_len, crt_file );
+ TEST_ASSERT( ssl_populate_session( &session, ticket_len, crt_file ) == 0 );
TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &good_len )
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL );
@@ -763,7 +768,7 @@
mbedtls_ssl_session_init( &session );
/* Prepare serialised session data */
- ssl_populate_session( &session, ticket_len, crt_file );
+ TEST_ASSERT( ssl_populate_session( &session, ticket_len, crt_file ) == 0 );
TEST_ASSERT( mbedtls_ssl_session_save( &session, NULL, 0, &good_len )
== MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL );
TEST_ASSERT( ( good_buf = mbedtls_calloc( 1, good_len ) ) != NULL );