diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2007-04-12 13:02:31 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2007-04-12 13:02:31 +0000 |
commit | 18327cd0e455afa1f2590fff9a922cfaf235968d (patch) | |
tree | 2de1b375e60ba58569040b3f426fc1d2730061c2 | |
parent | 2022cfe07e331dc4b69829ca4dd45c295190d471 (diff) |
Copy update callback across when copying EVP_MD_CTX.
Remove unnecessary reference to EVP_MD_CTX in HMAC pkey method.
-rw-r--r-- | crypto/evp/digest.c | 2 | ||||
-rw-r--r-- | crypto/hmac/hm_pmeth.c | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 095774bf62..ec4d1779da 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -292,6 +292,8 @@ 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); } + out->update = in->update; + if (in->pctx) { out->pctx = EVP_PKEY_CTX_dup(in->pctx); diff --git a/crypto/hmac/hm_pmeth.c b/crypto/hmac/hm_pmeth.c index 3e5f4a1d68..53a3f00f2f 100644 --- a/crypto/hmac/hm_pmeth.c +++ b/crypto/hmac/hm_pmeth.c @@ -68,7 +68,6 @@ typedef struct { const EVP_MD *md; /* MD for HMAC use */ - EVP_MD_CTX *mctx; /* Parent EVP_MD_CTX */ ASN1_OCTET_STRING ktmp; /* Temp storage for key */ HMAC_CTX ctx; } HMAC_PKEY_CTX; @@ -80,7 +79,6 @@ static int pkey_hmac_init(EVP_PKEY_CTX *ctx) if (!hctx) return 0; hctx->md = NULL; - hctx->mctx = NULL; hctx->ktmp.data = NULL; HMAC_CTX_init(&hctx->ctx); @@ -145,8 +143,6 @@ static int int_update(EVP_MD_CTX *ctx,const void *data,size_t count) static int hmac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) { - HMAC_PKEY_CTX *hctx = ctx->data; - hctx->mctx = mctx; EVP_MD_CTX_set_flags(mctx, EVP_MD_CTX_FLAG_NO_INIT); mctx->update = int_update; return 1; |