aboutsummaryrefslogtreecommitdiffstats
path: root/ossl_ssl.c
diff options
context:
space:
mode:
authorMichal Rokos <m.rokos@sh.cvut.cz>2002-06-08 10:05:30 +0000
committerMichal Rokos <m.rokos@sh.cvut.cz>2002-06-08 10:05:30 +0000
commitf96277c2389b1c698ccd86c3e6157f8d60bbcfb9 (patch)
treefa0678b03b2d67484c0bd298961c5103f9245098 /ossl_ssl.c
parentefb985877732e2d9c1b9eac770c2ea8135e3da14 (diff)
downloadruby-openssl-history-f96277c2389b1c698ccd86c3e6157f8d60bbcfb9.tar.gz
PKey: NO useless EVP_PKEY* dups.
Diffstat (limited to 'ossl_ssl.c')
-rw-r--r--ossl_ssl.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/ossl_ssl.c b/ossl_ssl.c
index 19a4b1a..a483871 100644
--- a/ossl_ssl.c
+++ b/ossl_ssl.c
@@ -181,22 +181,19 @@ ssl_ctx_setup(VALUE self)
val = ssl_get_cert(self);
cert = NIL_P(val) ? NULL : ossl_x509_get_X509(val);
val = ssl_get_key(self);
- key = NIL_P(val) ? NULL : ossl_pkey_get_EVP_PKEY(val);
+ key = NIL_P(val) ? NULL : GetPKeyPtr(val); /* NO NEED TO DUP */
if (cert && key) {
if (!SSL_CTX_use_certificate(p->ctx, cert)) { /* Adds a ref => Safe to FREE */
X509_free(cert);
- EVP_PKEY_free(key);
OSSL_Raise(eSSLError, "SSL_CTX_use_certificate:");
}
if (!SSL_CTX_use_PrivateKey(p->ctx, key)) { /* Adds a ref => Safe to FREE */
X509_free(cert);
- EVP_PKEY_free(key);
OSSL_Raise(eSSLError, "SSL_CTX_use_PrivateKey:");
}
if (!SSL_CTX_check_private_key(p->ctx)) {
X509_free(cert);
- EVP_PKEY_free(key);
OSSL_Raise(eSSLError, "SSL_CTX_check_private_key:");
}
}
@@ -205,7 +202,6 @@ ssl_ctx_setup(VALUE self)
* Free cert, key (Used => Safe to FREE || Not used => Not needed)
*/
if (cert) X509_free(cert);
- if (key) EVP_PKEY_free(key);
val = ssl_get_ca(self);
ca = NIL_P(val) ? NULL : ossl_x509_get_X509(val);