Update EVP_MD_CTX_copy_ex() to use EVP_PKEY_CTX_dup().
This commit is contained in:
parent
8bdcef40e4
commit
3a828611e9
@ -279,6 +279,16 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
|
||||
memcpy(out->md_data,in->md_data,out->digest->ctx_size);
|
||||
}
|
||||
|
||||
if (in->pctx)
|
||||
{
|
||||
out->pctx = EVP_PKEY_CTX_dup(in->pctx);
|
||||
if (!out->pctx)
|
||||
{
|
||||
EVP_MD_CTX_cleanup(out);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (out->digest->copy)
|
||||
return out->digest->copy(out,in);
|
||||
|
||||
|
@ -960,6 +960,7 @@ int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth);
|
||||
|
||||
EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
|
||||
EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
|
||||
EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx);
|
||||
void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
|
||||
|
||||
int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
|
||||
|
@ -3707,3 +3707,4 @@ EVP_DigestSignInit 4102 EXIST::FUNCTION:
|
||||
EVP_DigestVerifyFinal 4103 EXIST::FUNCTION:
|
||||
EVP_DigestVerifyInit 4104 EXIST::FUNCTION:
|
||||
EVP_DigestSignFinal 4105 EXIST::FUNCTION:
|
||||
EVP_PKEY_CTX_dup 4106 EXIST::FUNCTION:
|
||||
|
Loading…
Reference in New Issue
Block a user