mirror of
https://github.com/MariaDB/server.git
synced 2026-04-20 23:35:32 +02:00
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.
This commit is contained in:
parent
5320e2eaee
commit
c4034fb5e3
1 changed files with 5 additions and 4 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue