From: hno <> Date: Fri, 18 Mar 2005 23:46:44 +0000 (+0000) Subject: Plug memory leak in certificate based ACLs X-Git-Tag: SQUID_3_0_PRE4~835 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=23e6c4aea9ac30a2f6e6988ad7477150fffefaba;p=thirdparty%2Fsquid.git Plug memory leak in certificate based ACLs --- diff --git a/src/ssl_support.cc b/src/ssl_support.cc index 3e3cbd63ec..dabce4d289 100644 --- a/src/ssl_support.cc +++ b/src/ssl_support.cc @@ -1,6 +1,6 @@ /* - * $Id: ssl_support.cc,v 1.26 2005/03/18 16:32:37 hno Exp $ + * $Id: ssl_support.cc,v 1.27 2005/03/18 16:46:44 hno Exp $ * * AUTHOR: Benno Rice * DEBUG: section 83 SSL accelerator support @@ -866,6 +866,7 @@ sslGetUserAttribute(SSL * ssl, const char *attribute_name) { X509 *cert; X509_NAME *name; + const char *ret; if (!ssl) return NULL; @@ -877,7 +878,13 @@ sslGetUserAttribute(SSL * ssl, const char *attribute_name) name = X509_get_subject_name(cert); - return ssl_get_attribute(name, attribute_name); + ret = ssl_get_attribute(name, attribute_name); + + X509_free(cert); + + CRYPTO_free(name); + + return ret; } const char * @@ -885,6 +892,7 @@ sslGetCAAttribute(SSL * ssl, const char *attribute_name) { X509 *cert; X509_NAME *name; + const char *ret; if (!ssl) return NULL; @@ -896,7 +904,13 @@ sslGetCAAttribute(SSL * ssl, const char *attribute_name) name = X509_get_issuer_name(cert); - return ssl_get_attribute(name, attribute_name); + ret = ssl_get_attribute(name, attribute_name); + + X509_free(cert); + + CRYPTO_free(name); + + return ret; } const char *