diff options
Diffstat (limited to 'src/lib/libssl/ssl_cert.c')
-rw-r--r-- | src/lib/libssl/ssl_cert.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c index 4c3af75869..44efb64dea 100644 --- a/src/lib/libssl/ssl_cert.c +++ b/src/lib/libssl/ssl_cert.c | |||
@@ -299,18 +299,14 @@ ssl_cert_dup(CERT *cert) | |||
299 | return (ret); | 299 | return (ret); |
300 | 300 | ||
301 | err: | 301 | err: |
302 | if (ret->rsa_tmp != NULL) | 302 | RSA_free(ret->rsa_tmp); |
303 | RSA_free(ret->rsa_tmp); | 303 | DH_free(ret->dh_tmp); |
304 | if (ret->dh_tmp != NULL) | 304 | EC_KEY_free(ret->ecdh_tmp); |
305 | DH_free(ret->dh_tmp); | ||
306 | if (ret->ecdh_tmp != NULL) | ||
307 | EC_KEY_free(ret->ecdh_tmp); | ||
308 | 305 | ||
309 | for (i = 0; i < SSL_PKEY_NUM; i++) { | 306 | for (i = 0; i < SSL_PKEY_NUM; i++) { |
310 | if (ret->pkeys[i].x509 != NULL) | 307 | if (ret->pkeys[i].x509 != NULL) |
311 | X509_free(ret->pkeys[i].x509); | 308 | X509_free(ret->pkeys[i].x509); |
312 | if (ret->pkeys[i].privatekey != NULL) | 309 | EVP_PKEY_free(ret->pkeys[i].privatekey); |
313 | EVP_PKEY_free(ret->pkeys[i].privatekey); | ||
314 | } | 310 | } |
315 | 311 | ||
316 | return NULL; | 312 | return NULL; |
@@ -329,19 +325,16 @@ ssl_cert_free(CERT *c) | |||
329 | if (i > 0) | 325 | if (i > 0) |
330 | return; | 326 | return; |
331 | 327 | ||
332 | if (c->rsa_tmp) | 328 | RSA_free(c->rsa_tmp); |
333 | RSA_free(c->rsa_tmp); | 329 | DH_free(c->dh_tmp); |
334 | if (c->dh_tmp) | 330 | EC_KEY_free(c->ecdh_tmp); |
335 | DH_free(c->dh_tmp); | ||
336 | if (c->ecdh_tmp) | ||
337 | EC_KEY_free(c->ecdh_tmp); | ||
338 | 331 | ||
339 | for (i = 0; i < SSL_PKEY_NUM; i++) { | 332 | for (i = 0; i < SSL_PKEY_NUM; i++) { |
340 | if (c->pkeys[i].x509 != NULL) | 333 | if (c->pkeys[i].x509 != NULL) |
341 | X509_free(c->pkeys[i].x509); | 334 | X509_free(c->pkeys[i].x509); |
342 | if (c->pkeys[i].privatekey != NULL) | 335 | EVP_PKEY_free(c->pkeys[i].privatekey); |
343 | EVP_PKEY_free(c->pkeys[i].privatekey); | ||
344 | } | 336 | } |
337 | |||
345 | free(c); | 338 | free(c); |
346 | } | 339 | } |
347 | 340 | ||
@@ -408,12 +401,9 @@ ssl_sess_cert_free(SESS_CERT *sc) | |||
408 | X509_free(sc->peer_pkeys[i].x509); | 401 | X509_free(sc->peer_pkeys[i].x509); |
409 | } | 402 | } |
410 | 403 | ||
411 | if (sc->peer_rsa_tmp != NULL) | 404 | RSA_free(sc->peer_rsa_tmp); |
412 | RSA_free(sc->peer_rsa_tmp); | 405 | DH_free(sc->peer_dh_tmp); |
413 | if (sc->peer_dh_tmp != NULL) | 406 | EC_KEY_free(sc->peer_ecdh_tmp); |
414 | DH_free(sc->peer_dh_tmp); | ||
415 | if (sc->peer_ecdh_tmp != NULL) | ||
416 | EC_KEY_free(sc->peer_ecdh_tmp); | ||
417 | 407 | ||
418 | free(sc); | 408 | free(sc); |
419 | } | 409 | } |