diff options
author | jsing <> | 2014-06-07 14:10:35 +0000 |
---|---|---|
committer | jsing <> | 2014-06-07 14:10:35 +0000 |
commit | f343af817aa3c5121ccee178feb8ac0fa700172b (patch) | |
tree | 827d5a799fe09599039564d7a3a27bf8ba15a731 /src/lib/libssl/s3_lib.c | |
parent | 8e572c76ea1f88213041d8394aa478381641e07c (diff) | |
download | openbsd-f343af817aa3c5121ccee178feb8ac0fa700172b.tar.gz openbsd-f343af817aa3c5121ccee178feb8ac0fa700172b.tar.bz2 openbsd-f343af817aa3c5121ccee178feb8ac0fa700172b.zip |
The DH_free, EC_KEY_free, EVP_PKEY_free and RSA_free functions all have
implicit NULL checks, so there is no point ensuring that the pointer is
non-NULL before calling them.
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 41 |
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 | } |