void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher)
{
- if (cipher != NULL) {
- 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);
- }
+ int i;
+
+ 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)
return;
EVP_MD_CTX_reset(ctx);
-
OPENSSL_free(ctx);
- return;
}
static int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,
void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
{
+ if (ctx == NULL)
+ return;
EVP_CIPHER_CTX_reset(ctx);
OPENSSL_free(ctx);
}
{
int i;
- if (cipher == NULL)
+ if (cipher == NULL || cipher->prov == NULL)
return;
CRYPTO_DOWN_REF(&cipher->refcnt, &i, cipher->lock);
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)
void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx)
{
- if (ctx != NULL) {
- int ref = 0;
-
- CRYPTO_DOWN_REF(&ctx->refcnt, &ref, ctx->refcnt_lock);
- if (ref <= 0) {
- EVP_RAND_CTX *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);
- }
- }
+ int ref = 0;
+ EVP_RAND_CTX *parent;
+
+ if (ctx == NULL)
+ return;
+
+ 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)
void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange)
{
- if (exchange != NULL) {
- 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);
- }
+ int i;
+
+ 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)
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)
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)
void EVP_KEM_free(EVP_KEM *kem)
{
- if (kem != NULL) {
- 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);
- }
+ int i;
+
+ 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)
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);
}
void EVP_SIGNATURE_free(EVP_SIGNATURE *signature)
{
- if (signature != NULL) {
- 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);
- }
+ int i;
+
+ 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)