Don't follow legacy path if ctx->pctx is set
authorMatt Caswell <matt@openssl.org>
Thu, 3 Oct 2019 11:44:55 +0000 (12:44 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 3 Oct 2019 12:28:19 +0000 (13:28 +0100)
commit19cfe7847c17fb4d73c8b7267da841ec1a639dd3
tree28bfec9a621580d86c1b3ce814139d4f43621d10
parent85870311fd98acab2ee8a31a1ce17dc2db695989
Don't follow legacy path if ctx->pctx is set

EVP_DigestInit_ex forced following of the legacy path if ctx->pctx is
set (meaning we've actually been called via EVP_DigestSignInit_ex).

There is some code in the legacy path that calls the
EVP_PKEY_CTRL_DIGESTINIT ctrl on the pctx. Not going down the legacy path
if ctx->pctx is set means that ctrl message will neve get sent. However,
it turns out that all algs that understand that ctrl also set the
EVP_MD_CTX_FLAG_NO_INIT flag which forces legacy anyway. Therefore the
ctx->pctx check is not required and can be removed.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10082)
crypto/evp/digest.c