mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
Standard style for all EVP_xxx_free routines
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14193)
This commit is contained in:
parent
ad72484909
commit
543e740b95
@ -391,16 +391,16 @@ static void *evp_asym_cipher_from_algorithm(int name_id,
|
||||
|
||||
void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher)
|
||||
{
|
||||
if (cipher != NULL) {
|
||||
int i;
|
||||
int i;
|
||||
|
||||
CRYPTO_DOWN_REF(&cipher->refcnt, &i, cipher->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(cipher->prov);
|
||||
CRYPTO_THREAD_lock_free(cipher->lock);
|
||||
OPENSSL_free(cipher);
|
||||
}
|
||||
if (cipher == NULL)
|
||||
return;
|
||||
CRYPTO_DOWN_REF(&cipher->refcnt, &i, cipher->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(cipher->prov);
|
||||
CRYPTO_THREAD_lock_free(cipher->lock);
|
||||
OPENSSL_free(cipher);
|
||||
}
|
||||
|
||||
int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher)
|
||||
|
@ -118,9 +118,7 @@ void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
|
||||
return;
|
||||
|
||||
EVP_MD_CTX_reset(ctx);
|
||||
|
||||
OPENSSL_free(ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
static int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,
|
||||
|
@ -68,6 +68,8 @@ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void)
|
||||
|
||||
void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
|
||||
{
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
EVP_CIPHER_CTX_reset(ctx);
|
||||
OPENSSL_free(ctx);
|
||||
}
|
||||
@ -1608,7 +1610,7 @@ void EVP_CIPHER_free(EVP_CIPHER *cipher)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (cipher == NULL)
|
||||
if (cipher == NULL || cipher->prov == NULL)
|
||||
return;
|
||||
|
||||
CRYPTO_DOWN_REF(&cipher->refcnt, &i, cipher->lock);
|
||||
|
@ -62,18 +62,19 @@ static int evp_rand_up_ref(void *vrand)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void evp_rand_free(void *vrand){
|
||||
static void evp_rand_free(void *vrand)
|
||||
{
|
||||
EVP_RAND *rand = (EVP_RAND *)vrand;
|
||||
int ref = 0;
|
||||
|
||||
if (rand != NULL) {
|
||||
CRYPTO_DOWN_REF(&rand->refcnt, &ref, rand->refcnt_lock);
|
||||
if (ref <= 0) {
|
||||
ossl_provider_free(rand->prov);
|
||||
CRYPTO_THREAD_lock_free(rand->refcnt_lock);
|
||||
OPENSSL_free(rand);
|
||||
}
|
||||
}
|
||||
if (rand == NULL)
|
||||
return;
|
||||
CRYPTO_DOWN_REF(&rand->refcnt, &ref, rand->refcnt_lock);
|
||||
if (ref > 0)
|
||||
return;
|
||||
ossl_provider_free(rand->prov);
|
||||
CRYPTO_THREAD_lock_free(rand->refcnt_lock);
|
||||
OPENSSL_free(rand);
|
||||
}
|
||||
|
||||
static void *evp_rand_new(void)
|
||||
@ -369,21 +370,22 @@ EVP_RAND_CTX *EVP_RAND_CTX_new(EVP_RAND *rand, EVP_RAND_CTX *parent)
|
||||
|
||||
void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx)
|
||||
{
|
||||
if (ctx != NULL) {
|
||||
int ref = 0;
|
||||
int ref = 0;
|
||||
EVP_RAND_CTX *parent;
|
||||
|
||||
CRYPTO_DOWN_REF(&ctx->refcnt, &ref, ctx->refcnt_lock);
|
||||
if (ref <= 0) {
|
||||
EVP_RAND_CTX *parent = ctx->parent;
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
EVP_RAND_free(ctx->meth);
|
||||
CRYPTO_THREAD_lock_free(ctx->refcnt_lock);
|
||||
OPENSSL_free(ctx);
|
||||
EVP_RAND_CTX_free(parent);
|
||||
}
|
||||
}
|
||||
CRYPTO_DOWN_REF(&ctx->refcnt, &ref, ctx->refcnt_lock);
|
||||
if (ref > 0)
|
||||
return;
|
||||
parent = ctx->parent;
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
EVP_RAND_free(ctx->meth);
|
||||
CRYPTO_THREAD_lock_free(ctx->refcnt_lock);
|
||||
OPENSSL_free(ctx);
|
||||
EVP_RAND_CTX_free(parent);
|
||||
}
|
||||
|
||||
EVP_RAND *EVP_RAND_CTX_rand(EVP_RAND_CTX *ctx)
|
||||
|
@ -142,16 +142,16 @@ static void *evp_keyexch_from_algorithm(int name_id,
|
||||
|
||||
void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange)
|
||||
{
|
||||
if (exchange != NULL) {
|
||||
int i;
|
||||
int i;
|
||||
|
||||
CRYPTO_DOWN_REF(&exchange->refcnt, &i, exchange->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(exchange->prov);
|
||||
CRYPTO_THREAD_lock_free(exchange->lock);
|
||||
OPENSSL_free(exchange);
|
||||
}
|
||||
if (exchange == NULL)
|
||||
return;
|
||||
CRYPTO_DOWN_REF(&exchange->refcnt, &i, exchange->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(exchange->prov);
|
||||
CRYPTO_THREAD_lock_free(exchange->lock);
|
||||
OPENSSL_free(exchange);
|
||||
}
|
||||
|
||||
int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange)
|
||||
|
@ -47,12 +47,12 @@ EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf)
|
||||
|
||||
void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx)
|
||||
{
|
||||
if (ctx != NULL) {
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
EVP_KDF_free(ctx->meth);
|
||||
OPENSSL_free(ctx);
|
||||
}
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
EVP_KDF_free(ctx->meth);
|
||||
OPENSSL_free(ctx);
|
||||
}
|
||||
|
||||
EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src)
|
||||
|
@ -25,18 +25,20 @@ static int evp_kdf_up_ref(void *vkdf)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void evp_kdf_free(void *vkdf){
|
||||
static void evp_kdf_free(void *vkdf)
|
||||
{
|
||||
EVP_KDF *kdf = (EVP_KDF *)vkdf;
|
||||
int ref = 0;
|
||||
|
||||
if (kdf != NULL) {
|
||||
CRYPTO_DOWN_REF(&kdf->refcnt, &ref, kdf->lock);
|
||||
if (ref <= 0) {
|
||||
ossl_provider_free(kdf->prov);
|
||||
CRYPTO_THREAD_lock_free(kdf->lock);
|
||||
OPENSSL_free(kdf);
|
||||
}
|
||||
}
|
||||
if (kdf == NULL)
|
||||
return;
|
||||
|
||||
CRYPTO_DOWN_REF(&kdf->refcnt, &ref, kdf->lock);
|
||||
if (ref > 0)
|
||||
return;
|
||||
ossl_provider_free(kdf->prov);
|
||||
CRYPTO_THREAD_lock_free(kdf->lock);
|
||||
OPENSSL_free(kdf);
|
||||
}
|
||||
|
||||
static void *evp_kdf_new(void)
|
||||
|
@ -299,16 +299,17 @@ static void *evp_kem_from_algorithm(int name_id, const OSSL_ALGORITHM *algodef,
|
||||
|
||||
void EVP_KEM_free(EVP_KEM *kem)
|
||||
{
|
||||
if (kem != NULL) {
|
||||
int i;
|
||||
int i;
|
||||
|
||||
CRYPTO_DOWN_REF(&kem->refcnt, &i, kem->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(kem->prov);
|
||||
CRYPTO_THREAD_lock_free(kem->lock);
|
||||
OPENSSL_free(kem);
|
||||
}
|
||||
if (kem == NULL)
|
||||
return;
|
||||
|
||||
CRYPTO_DOWN_REF(&kem->refcnt, &i, kem->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(kem->prov);
|
||||
CRYPTO_THREAD_lock_free(kem->lock);
|
||||
OPENSSL_free(kem);
|
||||
}
|
||||
|
||||
int EVP_KEM_up_ref(EVP_KEM *kem)
|
||||
|
@ -39,12 +39,12 @@ EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac)
|
||||
|
||||
void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx)
|
||||
{
|
||||
if (ctx != NULL) {
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
/* refcnt-- */
|
||||
EVP_MAC_free(ctx->meth);
|
||||
}
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
ctx->meth->freectx(ctx->data);
|
||||
ctx->data = NULL;
|
||||
/* refcnt-- */
|
||||
EVP_MAC_free(ctx->meth);
|
||||
OPENSSL_free(ctx);
|
||||
}
|
||||
|
||||
|
@ -275,16 +275,16 @@ static void *evp_signature_from_algorithm(int name_id,
|
||||
|
||||
void EVP_SIGNATURE_free(EVP_SIGNATURE *signature)
|
||||
{
|
||||
if (signature != NULL) {
|
||||
int i;
|
||||
int i;
|
||||
|
||||
CRYPTO_DOWN_REF(&signature->refcnt, &i, signature->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(signature->prov);
|
||||
CRYPTO_THREAD_lock_free(signature->lock);
|
||||
OPENSSL_free(signature);
|
||||
}
|
||||
if (signature == NULL)
|
||||
return;
|
||||
CRYPTO_DOWN_REF(&signature->refcnt, &i, signature->lock);
|
||||
if (i > 0)
|
||||
return;
|
||||
ossl_provider_free(signature->prov);
|
||||
CRYPTO_THREAD_lock_free(signature->lock);
|
||||
OPENSSL_free(signature);
|
||||
}
|
||||
|
||||
int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature)
|
||||
|
Loading…
Reference in New Issue
Block a user