diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-10-16 13:41:52 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-10-16 13:41:52 +0000 |
commit | cc6688d7969d3eaa0ac26afc98562bfa9c896cd0 (patch) | |
tree | 8e0091b420866fec61bc63d57d5bacb889910ebb | |
parent | 9b1f24df3d2b18b679b2bc22284f34e88488c4ed (diff) |
PR: 2073
Submitted by: Tomas Mraz <tmraz@redhat.com>
Approved by: steve@openssl.org
Don't access freed SSL_CTX in SSL_free().
-rw-r--r-- | ssl/ssl_lib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 49f8ca46d1..b3b356d5ab 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -556,7 +556,6 @@ void SSL_free(SSL *s) if (s->cert != NULL) ssl_cert_free(s->cert); /* Free up if allocated */ - if (s->ctx) SSL_CTX_free(s->ctx); #ifndef OPENSSL_NO_TLSEXT if (s->tlsext_hostname) OPENSSL_free(s->tlsext_hostname); @@ -580,6 +579,8 @@ void SSL_free(SSL *s) if (s->method != NULL) s->method->ssl_free(s); + if (s->ctx) SSL_CTX_free(s->ctx); + #ifndef OPENSSL_NO_KRB5 if (s->kssl_ctx != NULL) kssl_ctx_free(s->kssl_ctx); |