mirror of
				https://github.com/yuzu-emu/mbedtls.git
				synced 2025-10-22 08:27:09 +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, | ||||
|                                   size_t unmet_dep_count, | ||||
|                                   char *unmet_dependencies[], | ||||
|                                   int unmet_dependencies[], | ||||
|                                   int ret, | ||||
|                                   const test_info_t *info ) | ||||
| { | ||||
|  | @ -443,7 +443,7 @@ static void write_outcome_result( FILE *outcome_file, | |||
|                 mbedtls_fprintf( outcome_file, "SKIP" ); | ||||
|                 for( i = 0; i < unmet_dep_count; i++ ) | ||||
|                 { | ||||
|                     mbedtls_fprintf( outcome_file, "%c%s", | ||||
|                     mbedtls_fprintf( outcome_file, "%c%d", | ||||
|                                      i == 0 ? ';' : ':', | ||||
|                                      unmet_dependencies[i] ); | ||||
|                 } | ||||
|  | @ -598,7 +598,7 @@ int execute_tests( int argc , const char ** argv ) | |||
|           testfile_index++ ) | ||||
|     { | ||||
|         size_t unmet_dep_count = 0; | ||||
|         char *unmet_dependencies[20]; | ||||
|         int unmet_dependencies[20]; | ||||
| 
 | ||||
|         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 ); | ||||
|                     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++; | ||||
|                     } | ||||
|                 } | ||||
|  | @ -730,9 +718,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" ); | ||||
|  | @ -783,10 +770,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] ); | ||||
|     } | ||||
| 
 | ||||
|     if( outcome_file != NULL ) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue