Make the fallback behavior of mbedtls_test_rnd_buffer_rand optional
If a fallback is not explicitly configured in the mbedtls_test_rnd_buf_info structure, fail after the buffer is exhausted. There is no intended behavior change in this commit: all existing uses of mbedtls_test_rnd_buffer_rand() have been updated to set mbedtls_test_rnd_std_rand as the fallback. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
0b1b0abe33
commit
ecacc3c9d2
6 changed files with 37 additions and 4 deletions
|
@ -36,8 +36,11 @@
|
|||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char *buf;
|
||||
unsigned char *buf; /* Pointer to a buffer of length bytes. */
|
||||
size_t length;
|
||||
/* If fallback_f_rng is NULL, fail after delivering length bytes. */
|
||||
int ( *fallback_f_rng )( void*, unsigned char *, size_t );
|
||||
void *fallback_p_rng;
|
||||
} mbedtls_test_rnd_buf_info;
|
||||
|
||||
/**
|
||||
|
@ -84,7 +87,9 @@ int mbedtls_test_rnd_zero_rand( void *rng_state,
|
|||
* the random function is specified by per_call. (Can be between
|
||||
* 1 and 4)
|
||||
*
|
||||
* After the buffer is empty it will return mbedtls_test_rnd_std_rand().
|
||||
* After the buffer is empty, this function will call the fallback RNG in the
|
||||
* #mbedtls_test_rnd_buf_info structure if there is one, and
|
||||
* will return #MBEDTLS_ERR_ENTROPY_SOURCE_FAILED otherwise.
|
||||
*/
|
||||
int mbedtls_test_rnd_buffer_rand( void *rng_state,
|
||||
unsigned char *output,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue