mirror of https://github.com/openssl/openssl.git
parent
d5c21afd4b
commit
e8e7fbdb16
|
|
@ -79,6 +79,9 @@ static void display_engine_list()
|
||||||
h = ENGINE_get_next(h);
|
h = ENGINE_get_next(h);
|
||||||
}
|
}
|
||||||
printf("end of list\n");
|
printf("end of list\n");
|
||||||
|
/* ENGINE_get_first() increases the struct_ref counter, so we
|
||||||
|
must call ENGINE_free() to decrease it again */
|
||||||
|
ENGINE_free(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|
@ -94,6 +97,18 @@ int main(int argc, char *argv[])
|
||||||
ENGINE *new_h3 = NULL;
|
ENGINE *new_h3 = NULL;
|
||||||
ENGINE *new_h4 = NULL;
|
ENGINE *new_h4 = NULL;
|
||||||
|
|
||||||
|
/* enable memory leak checking unless explicitly disabled */
|
||||||
|
if (!((getenv("OPENSSL_DEBUG_MEMORY") != NULL) && (0 == strcmp(getenv("OPENSSL_DEBUG_MEMORY"), "off"))))
|
||||||
|
{
|
||||||
|
CRYPTO_malloc_debug_init();
|
||||||
|
CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* OPENSSL_DEBUG_MEMORY=off */
|
||||||
|
CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
memset(block, 0, 512 * sizeof(ENGINE *));
|
memset(block, 0, 512 * sizeof(ENGINE *));
|
||||||
|
|
@ -127,6 +142,8 @@ int main(int argc, char *argv[])
|
||||||
printf("Remove failed!\n");
|
printf("Remove failed!\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
if (ptr)
|
||||||
|
ENGINE_free(ptr);
|
||||||
display_engine_list();
|
display_engine_list();
|
||||||
if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2))
|
if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2))
|
||||||
{
|
{
|
||||||
|
|
@ -181,6 +198,8 @@ int main(int argc, char *argv[])
|
||||||
if(!ENGINE_remove(ptr))
|
if(!ENGINE_remove(ptr))
|
||||||
printf("Remove failed!i - probably no hardware "
|
printf("Remove failed!i - probably no hardware "
|
||||||
"support present.\n");
|
"support present.\n");
|
||||||
|
if (ptr)
|
||||||
|
ENGINE_free(ptr);
|
||||||
display_engine_list();
|
display_engine_list();
|
||||||
if(!ENGINE_add(new_h1) || !ENGINE_remove(new_h1))
|
if(!ENGINE_add(new_h1) || !ENGINE_remove(new_h1))
|
||||||
{
|
{
|
||||||
|
|
@ -226,6 +245,7 @@ cleanup_loop:
|
||||||
printf("\nRemove failed!\n");
|
printf("\nRemove failed!\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
ENGINE_free(ptr);
|
||||||
printf("."); fflush(stdout);
|
printf("."); fflush(stdout);
|
||||||
}
|
}
|
||||||
for(loop = 0; loop < 512; loop++)
|
for(loop = 0; loop < 512; loop++)
|
||||||
|
|
@ -245,5 +265,10 @@ end:
|
||||||
for(loop = 0; loop < 512; loop++)
|
for(loop = 0; loop < 512; loop++)
|
||||||
if(block[loop])
|
if(block[loop])
|
||||||
ENGINE_free(block[loop]);
|
ENGINE_free(block[loop]);
|
||||||
|
ENGINE_cleanup();
|
||||||
|
CRYPTO_cleanup_all_ex_data();
|
||||||
|
ERR_free_strings();
|
||||||
|
ERR_remove_state(0);
|
||||||
|
CRYPTO_mem_leaks_fp(stderr);
|
||||||
return to_return;
|
return to_return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue