Commit de4ca539 authored by Alexander Barkov's avatar Alexander Barkov

MDEV-4890 Valgrind warnings on shutdown on a build with openSSL

parent 6dd9f049
......@@ -1003,6 +1003,18 @@
fun:row_drop_table_for_mysql
}
{
OpenSSL still reachable.
Memcheck:Leak
fun:*alloc
fun:CRYPTO_malloc
fun:sk_new
obj:*libssl*
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
}
{
Problem with udf and libresolve
Memcheck:Cond
......
......@@ -2094,6 +2094,9 @@ bool one_thread_per_connection_end(THD *thd, bool put_in_cache)
/* It's safe to broadcast outside a lock (COND... is not deleted here) */
DBUG_PRINT("signal", ("Broadcasting COND_thread_count"));
DBUG_LEAVE; // Must match DBUG_ENTER()
#ifndef EMBEDDED_LIBRARY
ERR_remove_state(0);
#endif
my_thread_end();
(void) pthread_cond_broadcast(&COND_thread_count);
......@@ -3750,6 +3753,7 @@ static void init_ssl()
opt_ssl_ca, opt_ssl_capath,
opt_ssl_cipher, &error);
DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd));
ERR_remove_state(0);
if (!ssl_acceptor_fd)
{
sql_print_warning("Failed to setup SSL");
......
......@@ -2854,6 +2854,7 @@ err:
DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end();
ERR_remove_state(0);
pthread_exit(0);
return 0; // Avoid compiler warnings
}
......@@ -3250,6 +3251,7 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end();
ERR_remove_state(0);
pthread_exit(0);
return 0; // Avoid compiler warnings
}
......
......@@ -250,5 +250,11 @@ void vio_end(void)
{
#ifdef HAVE_YASSL
yaSSL_CleanUp();
#elif defined(HAVE_OPENSSL)
// This one is needed on the client side
ERR_remove_state(0);
ERR_free_strings();
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
#endif
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment