mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-30 19:20:40 -04:00 
			
		
		
		
	Refactoring after CR and new unit test #3175
Signed-off-by: Victor Krasnoshchok <ct3da21164@protonmail.ch>
This commit is contained in:
		
							parent
							
								
									e79812ed4d
								
							
						
					
					
						commit
						b3129ba119
					
				| @ -466,25 +466,32 @@ int mbedtls_entropy_update_nv_seed( mbedtls_entropy_context *ctx ) | ||||
| #if defined(MBEDTLS_FS_IO) | ||||
| int mbedtls_entropy_write_seed_file( mbedtls_entropy_context *ctx, const char *path ) | ||||
| { | ||||
|     int ret; | ||||
|     int ret = 0; | ||||
|     FILE *f = NULL; | ||||
|     unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE]; | ||||
| 
 | ||||
|     if( ( ret = mbedtls_entropy_func( ctx, buf, MBEDTLS_ENTROPY_BLOCK_SIZE ) ) != 0 ) | ||||
|         goto exit; | ||||
| 
 | ||||
|     ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; | ||||
|     if( ( f = fopen( path, "wb" ) ) != NULL ) | ||||
|     { | ||||
|         if( fwrite( buf, 1, MBEDTLS_ENTROPY_BLOCK_SIZE, f ) != MBEDTLS_ENTROPY_BLOCK_SIZE ) | ||||
|             goto exit; | ||||
|         ret = 0; | ||||
|         ret = MBEDTLS_ERR_ENTROPY_SOURCE_FAILED; | ||||
|         goto exit; | ||||
|     } | ||||
| 
 | ||||
|     if( ( f = fopen( path, "wb" ) ) == NULL ) | ||||
|     { | ||||
|         ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; | ||||
|         goto exit; | ||||
|     } | ||||
| 
 | ||||
|     if( fwrite( buf, 1, MBEDTLS_ENTROPY_BLOCK_SIZE, f ) != MBEDTLS_ENTROPY_BLOCK_SIZE ) | ||||
|     { | ||||
|         ret = MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR; | ||||
|         goto exit; | ||||
|     } | ||||
| 
 | ||||
| exit: | ||||
|     mbedtls_platform_zeroize( buf, sizeof( buf ) ); | ||||
| 
 | ||||
|     if( f ) | ||||
|     if( f != NULL ) | ||||
|         fclose( f ); | ||||
| 
 | ||||
|     return( ret ); | ||||
|  | ||||
| @ -7,6 +7,9 @@ entropy_seed_file:"data_files/entropy_seed":0 | ||||
| Entropy write/update seed file: nonexistent | ||||
| entropy_seed_file:"no_such_dir/file":MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR | ||||
| 
 | ||||
| Entropy write/update seed file: base NV seed file | ||||
| entropy_write_base_seed_file:0 | ||||
| 
 | ||||
| Entropy no sources | ||||
| entropy_no_sources: | ||||
| 
 | ||||
|  | ||||
| @ -149,6 +149,21 @@ exit: | ||||
| } | ||||
| /* END_CASE */ | ||||
| 
 | ||||
| /* BEGIN_CASE depends_on:MBEDTLS_ENTROPY_NV_SEED:MBEDTLS_FS_IO */ | ||||
| void entropy_write_base_seed_file( int ret ) | ||||
| { | ||||
|     mbedtls_entropy_context ctx; | ||||
| 
 | ||||
|     mbedtls_entropy_init( &ctx ); | ||||
| 
 | ||||
|     TEST_ASSERT( mbedtls_entropy_write_seed_file( &ctx, MBEDTLS_PLATFORM_STD_NV_SEED_FILE ) == ret ); | ||||
|     TEST_ASSERT( mbedtls_entropy_update_seed_file( &ctx, MBEDTLS_PLATFORM_STD_NV_SEED_FILE ) == ret ); | ||||
| 
 | ||||
| exit: | ||||
|     mbedtls_entropy_free( &ctx ); | ||||
| } | ||||
| /* END_CASE */ | ||||
| 
 | ||||
| /* BEGIN_CASE */ | ||||
| void entropy_no_sources( ) | ||||
| { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Victor Krasnoshchok
						Victor Krasnoshchok