mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-01-10 22:45:39 +00:00
Merge pull request #3140 from gilles-peskine-arm/outcome-dependency-crash-fix
Fix intermittent crash in test suites with outcome file enabled
This commit is contained in:
commit
d4a720f541
|
@ -425,7 +425,7 @@ static void write_outcome_entry( FILE *outcome_file,
|
||||||
*/
|
*/
|
||||||
static void write_outcome_result( FILE *outcome_file,
|
static void write_outcome_result( FILE *outcome_file,
|
||||||
size_t unmet_dep_count,
|
size_t unmet_dep_count,
|
||||||
char *unmet_dependencies[],
|
int unmet_dependencies[],
|
||||||
int ret,
|
int ret,
|
||||||
const test_info_t *info )
|
const test_info_t *info )
|
||||||
{
|
{
|
||||||
|
@ -443,7 +443,7 @@ static void write_outcome_result( FILE *outcome_file,
|
||||||
mbedtls_fprintf( outcome_file, "SKIP" );
|
mbedtls_fprintf( outcome_file, "SKIP" );
|
||||||
for( i = 0; i < unmet_dep_count; i++ )
|
for( i = 0; i < unmet_dep_count; i++ )
|
||||||
{
|
{
|
||||||
mbedtls_fprintf( outcome_file, "%c%s",
|
mbedtls_fprintf( outcome_file, "%c%d",
|
||||||
i == 0 ? ';' : ':',
|
i == 0 ? ';' : ':',
|
||||||
unmet_dependencies[i] );
|
unmet_dependencies[i] );
|
||||||
}
|
}
|
||||||
|
@ -598,7 +598,7 @@ int execute_tests( int argc , const char ** argv )
|
||||||
testfile_index++ )
|
testfile_index++ )
|
||||||
{
|
{
|
||||||
size_t unmet_dep_count = 0;
|
size_t unmet_dep_count = 0;
|
||||||
char *unmet_dependencies[20];
|
int unmet_dependencies[20];
|
||||||
|
|
||||||
test_filename = test_files[ testfile_index ];
|
test_filename = test_files[ testfile_index ];
|
||||||
|
|
||||||
|
@ -647,19 +647,7 @@ int execute_tests( int argc , const char ** argv )
|
||||||
int dep_id = strtol( params[i], NULL, 10 );
|
int dep_id = strtol( params[i], NULL, 10 );
|
||||||
if( dep_check( dep_id ) != DEPENDENCY_SUPPORTED )
|
if( dep_check( dep_id ) != DEPENDENCY_SUPPORTED )
|
||||||
{
|
{
|
||||||
if( 0 == option_verbose )
|
unmet_dependencies[unmet_dep_count] = dep_id;
|
||||||
{
|
|
||||||
/* 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_dep_count++;
|
unmet_dep_count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -730,9 +718,8 @@ int execute_tests( int argc , const char ** argv )
|
||||||
mbedtls_fprintf( stdout, "\n Unmet dependencies: " );
|
mbedtls_fprintf( stdout, "\n Unmet dependencies: " );
|
||||||
for( i = 0; i < unmet_dep_count; i++ )
|
for( i = 0; i < unmet_dep_count; i++ )
|
||||||
{
|
{
|
||||||
mbedtls_fprintf( stdout, "%s ",
|
mbedtls_fprintf( stdout, "%d ",
|
||||||
unmet_dependencies[i] );
|
unmet_dependencies[i] );
|
||||||
free( unmet_dependencies[i] );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mbedtls_fprintf( stdout, "\n" );
|
mbedtls_fprintf( stdout, "\n" );
|
||||||
|
@ -783,10 +770,6 @@ int execute_tests( int argc , const char ** argv )
|
||||||
total_errors++;
|
total_errors++;
|
||||||
}
|
}
|
||||||
fclose( file );
|
fclose( file );
|
||||||
|
|
||||||
/* In case we encounter early end of file */
|
|
||||||
for( i = 0; i < unmet_dep_count; i++ )
|
|
||||||
free( unmet_dependencies[i] );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( outcome_file != NULL )
|
if( outcome_file != NULL )
|
||||||
|
|
Loading…
Reference in a new issue