From c4034fb5e3f4049739fe1e67faca9d5bb132a4ca Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Nov 2006 15:20:24 +0100 Subject: [PATCH 1/2] Bug#23981 memory leaks from yassl code + other - Fix memory leak in vio_VioSSLFD that occurs when one of the calls to SSL_* function fails. As in the "ssl_des" test case where the server is currently not supposed to be able to read the specific cert/key file. - Change error message to be generic as it's called both from server and client code. vio/viosslfactories.c: Fix memory leak in vio_VioSSLFD that occurs when one of the calls to SSL_* function fails. Change error message to be generic as it's called both from server and client code. --- vio/viosslfactories.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c index 9fd18579351..34ce1fefaa9 100644 --- a/vio/viosslfactories.c +++ b/vio/viosslfactories.c @@ -86,8 +86,7 @@ vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file, const char *key_file) if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) { DBUG_PRINT("error",("unable to get certificate from '%s'\n", cert_file)); - /* FIX stderr */ - fprintf(stderr,"Error when connection to server using SSL:"); + fprintf(stderr,"SSL error: "); ERR_print_errors_fp(stderr); fprintf(stderr,"Unable to get certificate from '%s'\n", cert_file); fflush(stderr); @@ -100,8 +99,7 @@ vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file, const char *key_file) if (SSL_CTX_use_PrivateKey_file(ctx, key_file, SSL_FILETYPE_PEM) <= 0) { DBUG_PRINT("error", ("unable to get private key from '%s'\n", key_file)); - /* FIX stderr */ - fprintf(stderr,"Error when connection to server using SSL:"); + fprintf(stderr,"SSL error: "); ERR_print_errors_fp(stderr); fprintf(stderr,"Unable to get private key from '%s'\n", key_file); fflush(stderr); @@ -252,6 +250,7 @@ new_VioSSLFd(const char *key_file, const char *cert_file, { DBUG_PRINT("error", ("failed to set ciphers to use")); report_errors(); + SSL_CTX_free(ssl_fd->ssl_context); my_free((void*)ssl_fd,MYF(0)); DBUG_RETURN(0); } @@ -264,6 +263,7 @@ new_VioSSLFd(const char *key_file, const char *cert_file, { DBUG_PRINT("error", ("SSL_CTX_set_default_verify_paths failed")); report_errors(); + SSL_CTX_free(ssl_fd->ssl_context); my_free((void*)ssl_fd,MYF(0)); DBUG_RETURN(0); } @@ -273,6 +273,7 @@ new_VioSSLFd(const char *key_file, const char *cert_file, { DBUG_PRINT("error", ("vio_set_cert_stuff failed")); report_errors(); + SSL_CTX_free(ssl_fd->ssl_context); my_free((void*)ssl_fd,MYF(0)); DBUG_RETURN(0); } From a797e75a3eeff27e61ae6fbcdb6488b19d8747d6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Nov 2006 16:09:32 +0100 Subject: [PATCH 2/2] Bug#23981 memory leaks from yassl code + other - Readd --skip-bdb when valgrinding mysql-test/mysql-test-run.pl: Readd --skip-bdb when valgrinding --- mysql-test/mysql-test-run.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index b6121249116..465d058f97a 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -3347,6 +3347,11 @@ sub mysqld_arguments ($$$$$) { if ( $opt_valgrind_mysqld ) { mtr_add_arg($args, "%s--skip-safemalloc", $prefix); + + if ( $mysql_version_id < 50100 ) + { + mtr_add_arg($args, "%s--skip-bdb", $prefix); + } } my $pidfile;