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 @@ ...@@ -1003,6 +1003,18 @@
fun:row_drop_table_for_mysql 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 Problem with udf and libresolve
Memcheck:Cond Memcheck:Cond
......
...@@ -2094,6 +2094,9 @@ bool one_thread_per_connection_end(THD *thd, bool put_in_cache) ...@@ -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) */ /* It's safe to broadcast outside a lock (COND... is not deleted here) */
DBUG_PRINT("signal", ("Broadcasting COND_thread_count")); DBUG_PRINT("signal", ("Broadcasting COND_thread_count"));
DBUG_LEAVE; // Must match DBUG_ENTER() DBUG_LEAVE; // Must match DBUG_ENTER()
#ifndef EMBEDDED_LIBRARY
ERR_remove_state(0);
#endif
my_thread_end(); my_thread_end();
(void) pthread_cond_broadcast(&COND_thread_count); (void) pthread_cond_broadcast(&COND_thread_count);
...@@ -3750,6 +3753,7 @@ static void init_ssl() ...@@ -3750,6 +3753,7 @@ static void init_ssl()
opt_ssl_ca, opt_ssl_capath, opt_ssl_ca, opt_ssl_capath,
opt_ssl_cipher, &error); opt_ssl_cipher, &error);
DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd)); DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd));
ERR_remove_state(0);
if (!ssl_acceptor_fd) if (!ssl_acceptor_fd)
{ {
sql_print_warning("Failed to setup SSL"); sql_print_warning("Failed to setup SSL");
......
...@@ -2854,6 +2854,7 @@ err: ...@@ -2854,6 +2854,7 @@ err:
DBUG_LEAVE; // Must match DBUG_ENTER() DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end(); my_thread_end();
ERR_remove_state(0);
pthread_exit(0); pthread_exit(0);
return 0; // Avoid compiler warnings return 0; // Avoid compiler warnings
} }
...@@ -3250,6 +3251,7 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \ ...@@ -3250,6 +3251,7 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
DBUG_LEAVE; // Must match DBUG_ENTER() DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end(); my_thread_end();
ERR_remove_state(0);
pthread_exit(0); pthread_exit(0);
return 0; // Avoid compiler warnings return 0; // Avoid compiler warnings
} }
......
...@@ -250,5 +250,11 @@ void vio_end(void) ...@@ -250,5 +250,11 @@ void vio_end(void)
{ {
#ifdef HAVE_YASSL #ifdef HAVE_YASSL
yaSSL_CleanUp(); 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 #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