From: Dr. Stephen Henson Date: Fri, 16 Oct 2009 13:42:15 +0000 (+0000) Subject: PR: 2073 X-Git-Tag: OpenSSL_0_9_8m-beta1~81 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3a0b6de4d00d4c23e2cb66981a62e8ab977ff93c;p=oweals%2Fopenssl.git PR: 2073 Submitted by: Tomas Mraz Approved by: steve@openssl.org Don't access freed SSL_CTX in SSL_free(). --- diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index c3a9a6d706..99e53fbdaf 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -508,7 +508,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); @@ -526,6 +525,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);