if ((decoder = OPENSSL_zalloc(sizeof(*decoder))) == NULL)
return NULL;
- if ((decoder->base.lock = CRYPTO_THREAD_lock_new()) == NULL) {
+ if (!CRYPTO_NEW_REF(&decoder->base.refcnt, 1)) {
OSSL_DECODER_free(decoder);
- ERR_raise(ERR_LIB_OSSL_DECODER, ERR_R_CRYPTO_LIB);
return NULL;
}
- decoder->base.refcnt = 1;
-
return decoder;
}
{
int ref = 0;
- CRYPTO_UP_REF(&decoder->base.refcnt, &ref, decoder->base.lock);
+ CRYPTO_UP_REF(&decoder->base.refcnt, &ref);
return 1;
}
if (decoder == NULL)
return;
- CRYPTO_DOWN_REF(&decoder->base.refcnt, &ref, decoder->base.lock);
+ CRYPTO_DOWN_REF(&decoder->base.refcnt, &ref);
if (ref > 0)
return;
OPENSSL_free(decoder->base.name);
ossl_property_free(decoder->base.parsed_propdef);
ossl_provider_free(decoder->base.prov);
- CRYPTO_THREAD_lock_free(decoder->base.lock);
+ CRYPTO_FREE_REF(&decoder->base.refcnt);
OPENSSL_free(decoder);
}
if ((encoder = OPENSSL_zalloc(sizeof(*encoder))) == NULL)
return NULL;
- if ((encoder->base.lock = CRYPTO_THREAD_lock_new()) == NULL) {
+ if (!CRYPTO_NEW_REF(&encoder->base.refcnt, 1)) {
OSSL_ENCODER_free(encoder);
- ERR_raise(ERR_LIB_OSSL_ENCODER, ERR_R_CRYPTO_LIB);
return NULL;
}
- encoder->base.refcnt = 1;
-
return encoder;
}
{
int ref = 0;
- CRYPTO_UP_REF(&encoder->base.refcnt, &ref, encoder->base.lock);
+ CRYPTO_UP_REF(&encoder->base.refcnt, &ref);
return 1;
}
if (encoder == NULL)
return;
- CRYPTO_DOWN_REF(&encoder->base.refcnt, &ref, encoder->base.lock);
+ CRYPTO_DOWN_REF(&encoder->base.refcnt, &ref);
if (ref > 0)
return;
OPENSSL_free(encoder->base.name);
ossl_property_free(encoder->base.parsed_propdef);
ossl_provider_free(encoder->base.prov);
- CRYPTO_THREAD_lock_free(encoder->base.lock);
+ CRYPTO_FREE_REF(&encoder->base.refcnt);
OPENSSL_free(encoder);
}