diff options
Diffstat (limited to 'src/lib/libssl/s3_srvr.c')
-rw-r--r-- | src/lib/libssl/s3_srvr.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c index 552f8290b5..bd22569ef0 100644 --- a/src/lib/libssl/s3_srvr.c +++ b/src/lib/libssl/s3_srvr.c | |||
@@ -866,14 +866,10 @@ ssl3_check_client_hello(SSL *s) | |||
866 | * which will now be aborted. (A full SSL_clear would be too | 866 | * which will now be aborted. (A full SSL_clear would be too |
867 | * much.) | 867 | * much.) |
868 | */ | 868 | */ |
869 | if (s->s3->tmp.dh != NULL) { | 869 | DH_free(s->s3->tmp.dh); |
870 | DH_free(s->s3->tmp.dh); | 870 | s->s3->tmp.dh = NULL; |
871 | s->s3->tmp.dh = NULL; | 871 | EC_KEY_free(s->s3->tmp.ecdh); |
872 | } | 872 | s->s3->tmp.ecdh = NULL; |
873 | if (s->s3->tmp.ecdh != NULL) { | ||
874 | EC_KEY_free(s->s3->tmp.ecdh); | ||
875 | s->s3->tmp.ecdh = NULL; | ||
876 | } | ||
877 | s->s3->flags |= SSL3_FLAGS_SGC_RESTART_DONE; | 873 | s->s3->flags |= SSL3_FLAGS_SGC_RESTART_DONE; |
878 | return (2); | 874 | return (2); |
879 | } | 875 | } |
@@ -2465,7 +2461,7 @@ ssl3_get_client_key_exchange(SSL *s) | |||
2465 | ret = 2; | 2461 | ret = 2; |
2466 | else | 2462 | else |
2467 | ret = 1; | 2463 | ret = 1; |
2468 | gerr: | 2464 | gerr: |
2469 | EVP_PKEY_free(client_pub_pkey); | 2465 | EVP_PKEY_free(client_pub_pkey); |
2470 | EVP_PKEY_CTX_free(pkey_ctx); | 2466 | EVP_PKEY_CTX_free(pkey_ctx); |
2471 | if (ret) | 2467 | if (ret) |
@@ -2485,8 +2481,7 @@ f_err: | |||
2485 | err: | 2481 | err: |
2486 | EVP_PKEY_free(clnt_pub_pkey); | 2482 | EVP_PKEY_free(clnt_pub_pkey); |
2487 | EC_POINT_free(clnt_ecpoint); | 2483 | EC_POINT_free(clnt_ecpoint); |
2488 | if (srvr_ecdh != NULL) | 2484 | EC_KEY_free(srvr_ecdh); |
2489 | EC_KEY_free(srvr_ecdh); | ||
2490 | BN_CTX_free(bn_ctx); | 2485 | BN_CTX_free(bn_ctx); |
2491 | return (-1); | 2486 | return (-1); |
2492 | } | 2487 | } |