X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=engines%2Fccgost%2Fgost_pmeth.c;h=7381c957fb6a711f48570545e3e692a9916f511b;hb=cddcea8c4b46ea610d928af899e394d9e323c617;hp=0574d6eee4624db9ecc1ec0371fdaa9449fd5711;hpb=ade44dcb16141c8a30ca6c56a1fd1a0b14dcc360;p=openssl.git diff --git a/engines/ccgost/gost_pmeth.c b/engines/ccgost/gost_pmeth.c index 0574d6eee4..7381c957fb 100644 --- a/engines/ccgost/gost_pmeth.c +++ b/engines/ccgost/gost_pmeth.c @@ -24,10 +24,9 @@ static int pkey_gost_init(EVP_PKEY_CTX *ctx) struct gost_pmeth_data *data; EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(ctx); - data = OPENSSL_malloc(sizeof(*data)); + data = OPENSSL_zalloc(sizeof(*data)); if (!data) return 0; - memset(data, 0, sizeof(*data)); if (pkey && EVP_PKEY_get0(pkey)) { switch (EVP_PKEY_base_id(pkey)) { case NID_id_GostR3410_2001: @@ -309,11 +308,10 @@ static int pkey_gost_derive_init(EVP_PKEY_CTX *ctx) /* -------- PKEY_METHOD for GOST MAC algorithm --------------------*/ static int pkey_gost_mac_init(EVP_PKEY_CTX *ctx) { - struct gost_mac_pmeth_data *data = OPENSSL_malloc(sizeof(*data)); + struct gost_mac_pmeth_data *data = OPENSSL_zalloc(sizeof(*data)); if (!data) return 0; - memset(data, 0, sizeof(*data)); EVP_PKEY_CTX_set_data(ctx, data); return 1; } @@ -390,7 +388,8 @@ static int pkey_gost_mac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) } else { key = &(data->key); } - return mctx->digest->md_ctrl(mctx, EVP_MD_CTRL_SET_KEY, 32, key); + return EVP_MD_meth_get_ctrl(EVP_MD_CTX_md(mctx)) + (mctx, EVP_MD_CTRL_SET_KEY, 32, key); } } return -2;