if (type != NULL) {
ctx->reqdigest = type;
} else {
- if (ctx->digest == NULL) {
+ if (ossl_unlikely(ctx->digest == NULL)) {
ERR_raise(ERR_LIB_EVP, EVP_R_NO_DIGEST_SET);
return 0;
}
* previous handle, re-querying for an ENGINE, and having a
* reinitialisation, when it may all be unnecessary.
*/
- if (ctx->engine != NULL
+ if (ossl_unlikely(ctx->engine != NULL)
&& ctx->digest != NULL
&& type->type == ctx->digest->type)
goto skip_to_init;
cleanup_old_md_data(ctx, 1);
/* Start of non-legacy code below */
- if (ctx->digest == type) {
- if (!ossl_assert(type->prov != NULL)) {
+ if (ossl_likely(ctx->digest == type)) {
+ if (ossl_unlikely(!ossl_assert(type->prov != NULL))) {
ERR_raise(ERR_LIB_EVP, EVP_R_INITIALIZATION_ERROR);
return 0;
}
return 0;
}
- if (type->prov == NULL) {
+ if (ossl_unlikely(type->prov == NULL)) {
#ifdef FIPS_MODULE
/* We only do explicit fetches inside the FIPS module */
ERR_raise(ERR_LIB_EVP, EVP_R_INITIALIZATION_ERROR);
#endif
}
- if (type->prov != NULL && ctx->fetched_digest != type) {
- if (!EVP_MD_up_ref((EVP_MD *)type)) {
+ if (ossl_unlikely(type->prov != NULL && ctx->fetched_digest != type)) {
+ if (ossl_unlikely(!EVP_MD_up_ref((EVP_MD *)type))) {
ERR_raise(ERR_LIB_EVP, EVP_R_INITIALIZATION_ERROR);
return 0;
}
int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count)
{
- if (count == 0)
+ if (ossl_unlikely(count == 0))
return 1;
- if ((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0) {
+ if (ossl_unlikely((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0)) {
ERR_raise(ERR_LIB_EVP, EVP_R_UPDATE_ERROR);
return 0;
}
- if (ctx->pctx != NULL
+ if (ossl_unlikely(ctx->pctx != NULL)
&& EVP_PKEY_CTX_IS_SIGNATURE_OP(ctx->pctx)
&& ctx->pctx->op.sig.algctx != NULL) {
#ifndef FIPS_MODULE
if (ctx->digest == NULL
|| ctx->digest->prov == NULL
- || (ctx->flags & EVP_MD_CTX_FLAG_NO_INIT) != 0)
+ || ossl_unlikely((ctx->flags & EVP_MD_CTX_FLAG_NO_INIT) != 0))
goto legacy;
- if (ctx->digest->dupdate == NULL) {
+ if (ossl_unlikely(ctx->digest->dupdate == NULL)) {
ERR_raise(ERR_LIB_EVP, EVP_R_UPDATE_ERROR);
return 0;
}
size_t size = 0;
size_t mdsize = 0;
- if (ctx->digest == NULL)
+ if (ossl_unlikely(ctx->digest == NULL))
return 0;
sz = EVP_MD_CTX_get_size(ctx);
- if (sz < 0)
+ if (ossl_unlikely(sz < 0))
return 0;
mdsize = sz;
- if (ctx->digest->prov == NULL)
+ if (ossl_unlikely(ctx->digest->prov == NULL))
goto legacy;
- if (ctx->digest->dfinal == NULL) {
+ if (ossl_unlikely(ctx->digest->dfinal == NULL)) {
ERR_raise(ERR_LIB_EVP, EVP_R_FINAL_ERROR);
return 0;
}
- if ((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0) {
+ if (ossl_unlikely((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0)) {
ERR_raise(ERR_LIB_EVP, EVP_R_FINAL_ERROR);
return 0;
}
ctx->flags |= EVP_MD_CTX_FLAG_FINALISED;
if (isize != NULL) {
- if (size <= UINT_MAX) {
+ if (ossl_likely(size <= UINT_MAX)) {
*isize = (unsigned int)size;
} else {
ERR_raise(ERR_LIB_EVP, EVP_R_FINAL_ERROR);
OSSL_PARAM params[2];
size_t i = 0;
- if (ctx->digest == NULL) {
+ if (ossl_unlikely(ctx->digest == NULL)) {
ERR_raise(ERR_LIB_EVP, EVP_R_INVALID_NULL_ALGORITHM);
return 0;
}
- if (ctx->digest->prov == NULL)
+ if (ossl_unlikely(ctx->digest->prov == NULL))
goto legacy;
- if (ctx->digest->dfinal == NULL) {
+ if (ossl_unlikely(ctx->digest->dfinal == NULL)) {
ERR_raise(ERR_LIB_EVP, EVP_R_FINAL_ERROR);
return 0;
}
- if ((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0) {
+ if (ossl_unlikely((ctx->flags & EVP_MD_CTX_FLAG_FINALISED) != 0)) {
ERR_raise(ERR_LIB_EVP, EVP_R_FINAL_ERROR);
return 0;
}
params[i++] = OSSL_PARAM_construct_size_t(OSSL_DIGEST_PARAM_XOFLEN, &size);
params[i++] = OSSL_PARAM_construct_end();
- if (EVP_MD_CTX_set_params(ctx, params) >= 0)
+ if (ossl_likely(EVP_MD_CTX_set_params(ctx, params) >= 0))
ret = ctx->digest->dfinal(ctx->algctx, md, &size, size);
ctx->flags |= EVP_MD_CTX_FLAG_FINALISED;
EVP_PKEY_CTX *pctx = ctx->pctx;
/* If we have a pctx then we should try that first */
- if (pctx != NULL
+ if (ossl_unlikely(pctx != NULL)
&& (pctx->operation == EVP_PKEY_OP_VERIFYCTX
|| pctx->operation == EVP_PKEY_OP_SIGNCTX)
&& pctx->op.sig.algctx != NULL
return pctx->op.sig.signature->set_ctx_md_params(pctx->op.sig.algctx,
params);
- if (ctx->digest != NULL && ctx->digest->set_ctx_params != NULL)
+ if (ossl_likely(ctx->digest != NULL && ctx->digest->set_ctx_params != NULL))
return ctx->digest->set_ctx_params(ctx->algctx, params);
return 0;
EVP_PKEY_CTX *pctx;
void *provctx;
- if (ctx == NULL)
+ if (ossl_unlikely(ctx == NULL))
return NULL;
/* If we have a pctx then we should try that first */
pctx = ctx->pctx;
- if (pctx != NULL
+ if (ossl_unlikely(pctx != NULL)
&& (pctx->operation == EVP_PKEY_OP_VERIFYCTX
|| pctx->operation == EVP_PKEY_OP_SIGNCTX)
&& pctx->op.sig.algctx != NULL
return pctx->op.sig.signature->gettable_ctx_md_params(
pctx->op.sig.algctx);
- if (ctx->digest != NULL && ctx->digest->gettable_ctx_params != NULL) {
+ if (ossl_unlikely(ctx->digest != NULL
+ && ctx->digest->gettable_ctx_params != NULL)) {
provctx = ossl_provider_ctx(EVP_MD_get0_provider(ctx->digest));
return ctx->digest->gettable_ctx_params(ctx->algctx, provctx);
}