-
-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Closed
Description
When built with enable-crypto-mdebug like in https://travis-ci.org/openssl/openssl/builds/262739932?utm_source=github_status&utm_medium=notification
test/sslapitest.c fails due to a memory leak, which I pinned down to be in test_session_with_both_cache().
BTW, chasing the memory leak I found some minor issues in test/testutil/driver.c, which can be cured as follows:
diff --git a/test/testutil/driver.c b/test/testutil/driver.c
index cf4296a23f..620b1ddf3c 100644
--- a/test/testutil/driver.c
+++ b/test/testutil/driver.c
@@ -40,7 +40,7 @@ static int seed = 0;
*/
static int num_test_cases = 0;
-void add_test(const char *test_case_name, int (*test_fn) ())
+void add_test(const char *test_case_name, int (*test_fn) (void))
{
assert(num_tests != OSSL_NELEM(all_tests));
all_tests[num_tests].test_case_name = test_case_name;
@@ -105,7 +105,7 @@ void setup_test_framework()
if (test_seed != NULL) {
seed = atoi(test_seed);
if (seed <= 0)
- seed = time(NULL);
+ seed = (int)time(NULL);
test_printf_stdout("%*s# RAND SEED %d\n", subtest_level(), "", seed);
test_flush_stdout();
srand(seed);
@@ -121,6 +121,7 @@ void setup_test_framework()
int pulldown_test_framework(int ret)
{
+ set_test_title(NULL);
#ifndef OPENSSL_NO_CRYPTO_MDEBUG
if (should_report_leaks()
&& CRYPTO_mem_leaks_cb(openssl_error_cb, NULL) <= 0)
@@ -142,7 +143,8 @@ static char *test_title = NULL;
void set_test_title(const char *title)
{
- free(test_title);
+ if (test_title)
+ free(test_title);
test_title = title == NULL ? NULL : strdup(title);
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels