From e8caf2634b7ca9f72778a3bf7c8c0ae4a8516cc5 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Tue, 31 Mar 2020 10:56:00 +0200 Subject: [PATCH] Since unmet_dependencies stores integers, represent them as int Since unmet_dependencies only ever contains strings that are integers written out in decimal, store the integer instead. Do this unconditionally since it doesn't cost any extra memory. This commit saves a little memory and more importantly avoids a gotcha with uninitialized pointers which caused a bug on development (the array was only initialized in verbose mode). Signed-off-by: Gilles Peskine --- tests/suites/host_test.function | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/tests/suites/host_test.function b/tests/suites/host_test.function index 0f98d23aa..26a7be443 100644 --- a/tests/suites/host_test.function +++ b/tests/suites/host_test.function @@ -474,7 +474,7 @@ int execute_tests( int argc , const char ** argv ) testfile_index++ ) { int unmet_dep_count = 0; - char *unmet_dependencies[20]; + int unmet_dependencies[20]; test_filename = test_files[ testfile_index ]; @@ -520,19 +520,7 @@ int execute_tests( int argc , const char ** argv ) int dep_id = strtol( params[i], NULL, 10 ); if( dep_check( dep_id ) != DEPENDENCY_SUPPORTED ) { - if( 0 == option_verbose ) - { - /* Only one count is needed if not verbose */ - unmet_dep_count++; - break; - } - - unmet_dependencies[ unmet_dep_count ] = strdup( params[i] ); - if( unmet_dependencies[ unmet_dep_count ] == NULL ) - { - mbedtls_fprintf( stderr, "FATAL: Out of memory\n" ); - mbedtls_exit( MBEDTLS_EXIT_FAILURE ); - } + unmet_dependencies[unmet_dep_count] = dep_id; unmet_dep_count++; } } @@ -599,9 +587,8 @@ int execute_tests( int argc , const char ** argv ) mbedtls_fprintf( stdout, "\n Unmet dependencies: " ); for( i = 0; i < unmet_dep_count; i++ ) { - mbedtls_fprintf( stdout, "%s ", + mbedtls_fprintf( stdout, "%d ", unmet_dependencies[i] ); - free( unmet_dependencies[i] ); } } mbedtls_fprintf( stdout, "\n" ); @@ -646,10 +633,6 @@ int execute_tests( int argc , const char ** argv ) total_errors++; } fclose( file ); - - /* In case we encounter early end of file */ - for( i = 0; i < unmet_dep_count; i++ ) - free( unmet_dependencies[i] ); } mbedtls_fprintf( stdout, "\n----------------------------------------------------------------------------\n\n");