Avoid memory leak.
This commit is contained in:
parent
51175595b3
commit
46b3bd5454
@ -88,6 +88,7 @@
|
|||||||
static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
|
static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export,int keylength);
|
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export,int keylength);
|
||||||
|
static void free_tmp_rsa(void);
|
||||||
#endif
|
#endif
|
||||||
#ifndef NO_DH
|
#ifndef NO_DH
|
||||||
static DH *get_dh512(void);
|
static DH *get_dh512(void);
|
||||||
@ -528,6 +529,9 @@ end:
|
|||||||
|
|
||||||
if (bio_stdout != NULL) BIO_free(bio_stdout);
|
if (bio_stdout != NULL) BIO_free(bio_stdout);
|
||||||
|
|
||||||
|
#ifndef NO_RSA
|
||||||
|
free_tmp_rsa();
|
||||||
|
#endif
|
||||||
ERR_free_strings();
|
ERR_free_strings();
|
||||||
ERR_remove_state(0);
|
ERR_remove_state(0);
|
||||||
EVP_cleanup();
|
EVP_cleanup();
|
||||||
@ -1242,10 +1246,10 @@ static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
|
static RSA *rsa_tmp=NULL;
|
||||||
|
|
||||||
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export, int keylength)
|
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export, int keylength)
|
||||||
{
|
{
|
||||||
static RSA *rsa_tmp=NULL;
|
|
||||||
|
|
||||||
if (rsa_tmp == NULL)
|
if (rsa_tmp == NULL)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"Generating temp (%d bit) RSA key...",keylength);
|
BIO_printf(bio_err,"Generating temp (%d bit) RSA key...",keylength);
|
||||||
@ -1256,6 +1260,15 @@ static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export, int keylength)
|
|||||||
}
|
}
|
||||||
return(rsa_tmp);
|
return(rsa_tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void free_tmp_rsa(void)
|
||||||
|
{
|
||||||
|
if (rsa_tmp != NULL)
|
||||||
|
{
|
||||||
|
RSA_free(rsa_tmp);
|
||||||
|
rsa_tmp = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef NO_DH
|
#ifndef NO_DH
|
||||||
|
Loading…
x
Reference in New Issue
Block a user