summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r--src/lib/libssl/s3_lib.c41
1 files changed, 14 insertions, 27 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c
index 3b6eefd99b..d8066720f9 100644
--- a/src/lib/libssl/s3_lib.c
+++ b/src/lib/libssl/s3_lib.c
@@ -2333,16 +2333,13 @@ ssl3_free(SSL *s)
2333 if (s->s3->wbuf.buf != NULL) 2333 if (s->s3->wbuf.buf != NULL)
2334 ssl3_release_write_buffer(s); 2334 ssl3_release_write_buffer(s);
2335 free(s->s3->rrec.comp); 2335 free(s->s3->rrec.comp);
2336 if (s->s3->tmp.dh != NULL) 2336 DH_free(s->s3->tmp.dh);
2337 DH_free(s->s3->tmp.dh); 2337 EC_KEY_free(s->s3->tmp.ecdh);
2338 if (s->s3->tmp.ecdh != NULL)
2339 EC_KEY_free(s->s3->tmp.ecdh);
2340 2338
2341 if (s->s3->tmp.ca_names != NULL) 2339 if (s->s3->tmp.ca_names != NULL)
2342 sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); 2340 sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free);
2343 if (s->s3->handshake_buffer) { 2341 if (s->s3->handshake_buffer)
2344 BIO_free(s->s3->handshake_buffer); 2342 BIO_free(s->s3->handshake_buffer);
2345 }
2346 if (s->s3->handshake_dgst) 2343 if (s->s3->handshake_dgst)
2347 ssl3_free_digest_list(s); 2344 ssl3_free_digest_list(s);
2348 OPENSSL_cleanse(s->s3, sizeof *s->s3); 2345 OPENSSL_cleanse(s->s3, sizeof *s->s3);
@@ -2371,14 +2368,11 @@ ssl3_clear(SSL *s)
2371 free(s->s3->rrec.comp); 2368 free(s->s3->rrec.comp);
2372 s->s3->rrec.comp = NULL; 2369 s->s3->rrec.comp = NULL;
2373 2370
2374 if (s->s3->tmp.dh != NULL) { 2371 DH_free(s->s3->tmp.dh);
2375 DH_free(s->s3->tmp.dh); 2372 s->s3->tmp.dh = NULL;
2376 s->s3->tmp.dh = NULL; 2373 EC_KEY_free(s->s3->tmp.ecdh);
2377 } 2374 s->s3->tmp.ecdh = NULL;
2378 if (s->s3->tmp.ecdh != NULL) { 2375
2379 EC_KEY_free(s->s3->tmp.ecdh);
2380 s->s3->tmp.ecdh = NULL;
2381 }
2382 s->s3->is_probably_safari = 0; 2376 s->s3->is_probably_safari = 0;
2383 2377
2384 rp = s->s3->rbuf.buf; 2378 rp = s->s3->rbuf.buf;
@@ -2470,8 +2464,7 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
2470 ERR_R_RSA_LIB); 2464 ERR_R_RSA_LIB);
2471 return (ret); 2465 return (ret);
2472 } 2466 }
2473 if (s->cert->rsa_tmp != NULL) 2467 RSA_free(s->cert->rsa_tmp);
2474 RSA_free(s->cert->rsa_tmp);
2475 s->cert->rsa_tmp = rsa; 2468 s->cert->rsa_tmp = rsa;
2476 ret = 1; 2469 ret = 1;
2477 } 2470 }
@@ -2504,8 +2497,7 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
2504 return (ret); 2497 return (ret);
2505 } 2498 }
2506 } 2499 }
2507 if (s->cert->dh_tmp != NULL) 2500 DH_free(s->cert->dh_tmp);
2508 DH_free(s->cert->dh_tmp);
2509 s->cert->dh_tmp = dh; 2501 s->cert->dh_tmp = dh;
2510 ret = 1; 2502 ret = 1;
2511 } 2503 }
@@ -2540,8 +2532,7 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
2540 return (ret); 2532 return (ret);
2541 } 2533 }
2542 } 2534 }
2543 if (s->cert->ecdh_tmp != NULL) 2535 EC_KEY_free(s->cert->ecdh_tmp);
2544 EC_KEY_free(s->cert->ecdh_tmp);
2545 s->cert->ecdh_tmp = ecdh; 2536 s->cert->ecdh_tmp = ecdh;
2546 ret = 1; 2537 ret = 1;
2547 } 2538 }
@@ -2729,8 +2720,7 @@ ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
2729 ERR_R_RSA_LIB); 2720 ERR_R_RSA_LIB);
2730 return (0); 2721 return (0);
2731 } else { 2722 } else {
2732 if (cert->rsa_tmp != NULL) 2723 RSA_free(cert->rsa_tmp);
2733 RSA_free(cert->rsa_tmp);
2734 cert->rsa_tmp = rsa; 2724 cert->rsa_tmp = rsa;
2735 return (1); 2725 return (1);
2736 } 2726 }
@@ -2761,8 +2751,7 @@ ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
2761 return 0; 2751 return 0;
2762 } 2752 }
2763 } 2753 }
2764 if (cert->dh_tmp != NULL) 2754 DH_free(cert->dh_tmp);
2765 DH_free(cert->dh_tmp);
2766 cert->dh_tmp = new; 2755 cert->dh_tmp = new;
2767 return 1; 2756 return 1;
2768 } 2757 }
@@ -2798,9 +2787,7 @@ ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
2798 } 2787 }
2799 } 2788 }
2800 2789
2801 if (cert->ecdh_tmp != NULL) { 2790 EC_KEY_free(cert->ecdh_tmp);
2802 EC_KEY_free(cert->ecdh_tmp);
2803 }
2804 cert->ecdh_tmp = ecdh; 2791 cert->ecdh_tmp = ecdh;
2805 return 1; 2792 return 1;
2806 } 2793 }