Fix the mem_sec "small arena"
Fix the small arena test to just check for the symptom of the infinite loop (i.e. initialized set on failure), rather than the actual infinite loop. This avoids some valgrind errors. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3512)
This commit is contained in:
parent
a486561b69
commit
fee423bb68
1 changed files with 9 additions and 6 deletions
|
@ -68,12 +68,15 @@ static int test_sec_mem(void)
|
|||
TEST_ptr_null(OPENSSL_secure_malloc((size_t)-1));
|
||||
TEST_true(CRYPTO_secure_malloc_done());
|
||||
|
||||
TEST_info("Possible infinite loop: small arena");
|
||||
if (!TEST_false(CRYPTO_secure_malloc_init(16, 16)))
|
||||
/*
|
||||
* If init fails, then initialized should be false, if not, this
|
||||
* could cause an infinite loop secure_malloc, but we don't test it
|
||||
*/
|
||||
if (TEST_false(CRYPTO_secure_malloc_init(16, 16)) &&
|
||||
!TEST_false(CRYPTO_secure_malloc_initialized())) {
|
||||
TEST_true(CRYPTO_secure_malloc_done());
|
||||
goto end;
|
||||
TEST_false(CRYPTO_secure_malloc_initialized());
|
||||
TEST_ptr_null(OPENSSL_secure_malloc((size_t)-1));
|
||||
TEST_true(CRYPTO_secure_malloc_done());
|
||||
}
|
||||
|
||||
/*-
|
||||
* There was also a possible infinite loop when the number of
|
||||
|
@ -105,7 +108,7 @@ static int test_sec_mem(void)
|
|||
TEST_true(CRYPTO_secure_malloc_done());
|
||||
}
|
||||
# endif
|
||||
|
||||
|
||||
/* this can complete - it was not really secure */
|
||||
testresult = 1;
|
||||
end:
|
||||
|
|
Loading…
Reference in a new issue