mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-23 01:15:36 +00:00
Add init-free tests for entropy
These tests validate that an entropy object can be reused and that calling mbedtls_entropy_free() twice is ok. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
6855d1a457
commit
210a0168d5
|
@ -1,3 +1,9 @@
|
||||||
|
Entropy init-free-free
|
||||||
|
entropy_init_free:0
|
||||||
|
|
||||||
|
Entropy init-free-init-free
|
||||||
|
entropy_init_free:1
|
||||||
|
|
||||||
Create NV seed_file
|
Create NV seed_file
|
||||||
nv_seed_file_create:
|
nv_seed_file_create:
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,28 @@ int read_nv_seed( unsigned char *buf, size_t buf_len )
|
||||||
* END_DEPENDENCIES
|
* END_DEPENDENCIES
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void entropy_init_free( int reinit )
|
||||||
|
{
|
||||||
|
mbedtls_entropy_context ctx;
|
||||||
|
|
||||||
|
/* Double free is not explicitly documented to work, but it is convenient
|
||||||
|
* to call mbedtls_entropy_free() unconditionally on an error path without
|
||||||
|
* checking whether it has already been called in the success path. */
|
||||||
|
|
||||||
|
mbedtls_entropy_init( &ctx );
|
||||||
|
mbedtls_entropy_free( &ctx );
|
||||||
|
|
||||||
|
if( reinit )
|
||||||
|
mbedtls_entropy_init( &ctx );
|
||||||
|
mbedtls_entropy_free( &ctx );
|
||||||
|
|
||||||
|
/* This test case always succeeds, functionally speaking. A plausible
|
||||||
|
* bug might trigger an invalid pointer dereference or a memory leak. */
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_ENTROPY_NV_SEED:MBEDTLS_FS_IO */
|
/* BEGIN_CASE depends_on:MBEDTLS_ENTROPY_NV_SEED:MBEDTLS_FS_IO */
|
||||||
void entropy_seed_file( char * path, int ret )
|
void entropy_seed_file( char * path, int ret )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue