Initial entropy run should be context specific
Otherwise test influence each other. Is a change to the context but only if the NV seed feature is enabled
This commit is contained in:
parent
66fdf34e81
commit
fc9c7c8bf4
2 changed files with 5 additions and 6 deletions
|
@ -134,6 +134,9 @@ typedef struct
|
||||||
#if defined(MBEDTLS_THREADING_C)
|
#if defined(MBEDTLS_THREADING_C)
|
||||||
mbedtls_threading_mutex_t mutex; /*!< mutex */
|
mbedtls_threading_mutex_t mutex; /*!< mutex */
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(MBEDTLS_ENTROPY_NV_SEED)
|
||||||
|
int initial_entropy_run;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
mbedtls_entropy_context;
|
mbedtls_entropy_context;
|
||||||
|
|
||||||
|
|
|
@ -54,10 +54,6 @@ static void mbedtls_zeroize( void *v, size_t n ) {
|
||||||
volatile unsigned char *p = v; while( n-- ) *p++ = 0;
|
volatile unsigned char *p = v; while( n-- ) *p++ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_ENTROPY_NV_SEED)
|
|
||||||
static int initial_entropy_run = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ENTROPY_MAX_LOOP 256 /**< Maximum amount to loop before error */
|
#define ENTROPY_MAX_LOOP 256 /**< Maximum amount to loop before error */
|
||||||
|
|
||||||
void mbedtls_entropy_init( mbedtls_entropy_context *ctx )
|
void mbedtls_entropy_init( mbedtls_entropy_context *ctx )
|
||||||
|
@ -290,9 +286,9 @@ int mbedtls_entropy_func( void *data, unsigned char *output, size_t len )
|
||||||
/* Update the NV entropy seed before generating any entropy for outside
|
/* Update the NV entropy seed before generating any entropy for outside
|
||||||
* use.
|
* use.
|
||||||
*/
|
*/
|
||||||
if( initial_entropy_run == 0 )
|
if( ctx->initial_entropy_run == 0 )
|
||||||
{
|
{
|
||||||
initial_entropy_run = 1;
|
ctx->initial_entropy_run = 1;
|
||||||
if( ( ret = mbedtls_entropy_update_nv_seed( ctx ) ) != 0 )
|
if( ( ret = mbedtls_entropy_update_nv_seed( ctx ) ) != 0 )
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue