diff options
| author | jsing <> | 2014-06-07 14:10:35 +0000 |
|---|---|---|
| committer | jsing <> | 2014-06-07 14:10:35 +0000 |
| commit | 95268644eba97927cec83c548e0ec2c504f7df63 (patch) | |
| tree | 827d5a799fe09599039564d7a3a27bf8ba15a731 /src/lib/libssl/s3_lib.c | |
| parent | eb1325b75a91858984607e2d54e61ee64e72958b (diff) | |
| download | openbsd-95268644eba97927cec83c548e0ec2c504f7df63.tar.gz openbsd-95268644eba97927cec83c548e0ec2c504f7df63.tar.bz2 openbsd-95268644eba97927cec83c548e0ec2c504f7df63.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 | } |
