From 67665509ab5fef6730e0aeeaafbb76f9b0edc2f3 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Tue, 31 Mar 2020 10:57:53 +0200 Subject: [PATCH] Note that unmet_dependencies is only filled in verbose mode Warn about a gotcha that caused a bug in development. Ensure that it's at least zeroed out, rather than uninitialized, in non-verbose mode. Signed-off-by: Gilles Peskine --- tests/suites/main_test.function | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function index 042085f0b..8f134ff98 100644 --- a/tests/suites/main_test.function +++ b/tests/suites/main_test.function @@ -348,7 +348,7 @@ int main(int argc, const char *argv[]) testfile_index++ ) { int unmet_dep_count = 0; - char *unmet_dependencies[20]; + char *unmet_dependencies[20]; /* only filled when verbose != 0 */ test_filename = test_files[ testfile_index ]; @@ -369,6 +369,7 @@ int main(int argc, const char *argv[]) mbedtls_exit( MBEDTLS_EXIT_FAILURE ); } unmet_dep_count = 0; + memset( unmet_dependencies, 0, sizeof( unmet_dependencies ) ); if( ( ret = get_line( file, buf, sizeof(buf) ) ) != 0 ) break; @@ -391,18 +392,16 @@ int main(int argc, const char *argv[]) { if( dep_check( params[i] ) != DEPENDENCY_SUPPORTED ) { - if( 0 == option_verbose ) + 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] = + strdup( params[i] ); + if( unmet_dependencies[unmet_dep_count] == NULL ) + { + mbedtls_fprintf( stderr, + "FATAL: Out of memory\n" ); + mbedtls_exit( MBEDTLS_EXIT_FAILURE ); + } } unmet_dep_count++; }