diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/ec/ec_key.c | 25 | 
1 files changed, 11 insertions, 14 deletions
| diff --git a/src/lib/libcrypto/ec/ec_key.c b/src/lib/libcrypto/ec/ec_key.c index c8f4c15bb5..753ababa31 100644 --- a/src/lib/libcrypto/ec/ec_key.c +++ b/src/lib/libcrypto/ec/ec_key.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ec_key.c,v 1.43 2024/11/08 21:53:54 tb Exp $ */ | 1 | /* $OpenBSD: ec_key.c,v 1.44 2024/11/08 21:56:58 tb Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. | 
| 4 | */ | 4 | */ | 
| @@ -104,27 +104,24 @@ EC_KEY_new_by_curve_name(int nid) | |||
| 104 | LCRYPTO_ALIAS(EC_KEY_new_by_curve_name); | 104 | LCRYPTO_ALIAS(EC_KEY_new_by_curve_name); | 
| 105 | 105 | ||
| 106 | void | 106 | void | 
| 107 | EC_KEY_free(EC_KEY *r) | 107 | EC_KEY_free(EC_KEY *ec_key) | 
| 108 | { | 108 | { | 
| 109 | int i; | 109 | if (ec_key == NULL) | 
| 110 | |||
| 111 | if (r == NULL) | ||
| 112 | return; | 110 | return; | 
| 113 | 111 | ||
| 114 | i = CRYPTO_add(&r->references, -1, CRYPTO_LOCK_EC); | 112 | if (CRYPTO_add(&ec_key->references, -1, CRYPTO_LOCK_EC) > 0) | 
| 115 | if (i > 0) | ||
| 116 | return; | 113 | return; | 
| 117 | 114 | ||
| 118 | if (r->meth != NULL && r->meth->finish != NULL) | 115 | if (ec_key->meth != NULL && ec_key->meth->finish != NULL) | 
| 119 | r->meth->finish(r); | 116 | ec_key->meth->finish(ec_key); | 
| 120 | 117 | ||
| 121 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_EC_KEY, r, &r->ex_data); | 118 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_EC_KEY, ec_key, &ec_key->ex_data); | 
| 122 | 119 | ||
| 123 | EC_GROUP_free(r->group); | 120 | EC_GROUP_free(ec_key->group); | 
| 124 | EC_POINT_free(r->pub_key); | 121 | EC_POINT_free(ec_key->pub_key); | 
| 125 | BN_free(r->priv_key); | 122 | BN_free(ec_key->priv_key); | 
| 126 | 123 | ||
| 127 | freezero(r, sizeof(EC_KEY)); | 124 | freezero(ec_key, sizeof(*ec_key)); | 
| 128 | } | 125 | } | 
| 129 | LCRYPTO_ALIAS(EC_KEY_free); | 126 | LCRYPTO_ALIAS(EC_KEY_free); | 
| 130 | 127 | ||
