Commit 31ea9f94 authored by unknown's avatar unknown
Browse files

Fix for bug#14780 memory leak for mysql 4.1.14 with openssl enabled

parent 1dfaaba8
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1487,11 +1487,15 @@ mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
static void
mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
{
  struct st_VioSSLConnectorFd *st= 
    (struct st_VioSSLConnectorFd*) mysql->connector_fd;
  my_free(mysql->options.ssl_key, MYF(MY_ALLOW_ZERO_PTR));
  my_free(mysql->options.ssl_cert, MYF(MY_ALLOW_ZERO_PTR));
  my_free(mysql->options.ssl_ca, MYF(MY_ALLOW_ZERO_PTR));
  my_free(mysql->options.ssl_capath, MYF(MY_ALLOW_ZERO_PTR));
  my_free(mysql->options.ssl_cipher, MYF(MY_ALLOW_ZERO_PTR));  
  if (st)
    SSL_CTX_free(st->ssl_context);
  my_free(mysql->connector_fd,MYF(MY_ALLOW_ZERO_PTR));
  mysql->options.ssl_key = 0;
  mysql->options.ssl_cert = 0;
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ void vio_reset(Vio* vio, enum enum_vio_type type,
#ifdef HAVE_OPENSSL 
  if (type == VIO_TYPE_SSL)
  {
    vio->viodelete	=vio_ssl_delete;
    vio->viodelete	=vio_delete;
    vio->vioerrno	=vio_ssl_errno;
    vio->read		=vio_ssl_read;
    vio->write		=vio_ssl_write;
+0 −1
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ void vio_ignore_timeout(Vio *vio, uint which, uint timeout);
#ifdef HAVE_OPENSSL
#include "my_net.h"			/* needed because of struct in_addr */

void	vio_ssl_delete(Vio* vio);
int	vio_ssl_read(Vio *vio,gptr buf,	int size);
int	vio_ssl_write(Vio *vio,const gptr buf,int size);
void	vio_ssl_timeout(Vio *vio, uint which, uint timeout);
+0 −19
Original line number Diff line number Diff line
@@ -69,25 +69,6 @@ report_errors()
  DBUG_VOID_RETURN;
}

/*
  Delete a vio object

  SYNPOSIS
    vio_ssl_delete()
    vio			Vio object.  May be 0.
*/


void vio_ssl_delete(Vio * vio)
{
  if (vio)
  {
    if (vio->type != VIO_CLOSED)
      vio_close(vio);
    my_free((gptr) vio,MYF(0));
  }
}


int vio_ssl_errno(Vio *vio __attribute__((unused)))
{