From 93991bf3de4910f7be02c8aa55923e9331761a80 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Mon, 24 Jun 2024 11:25:12 +0200 Subject: [PATCH] evp_pkey_ctx_setget_params_to_ctrl(): Always properly set ctx.action_type Fixes #24698 Some applicable translations are bidirectional so they have NONE action_type. However we need to set the real action_type in the ctx. Reviewed-by: Neil Horman Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/24709) (cherry picked from commit 55c1458303c0fef88e4b2b35a090e9145f3e07eb) --- crypto/evp/ctrl_params_translate.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crypto/evp/ctrl_params_translate.c b/crypto/evp/ctrl_params_translate.c index 80947b0932f99..e79943d9257c2 100644 --- a/crypto/evp/ctrl_params_translate.c +++ b/crypto/evp/ctrl_params_translate.c @@ -2777,7 +2777,7 @@ static int evp_pkey_ctx_setget_params_to_ctrl(EVP_PKEY_CTX *pctx, fixup_args_fn *fixup = default_fixup_args; int ret; - tmpl.action_type = action_type; + ctx.action_type = tmpl.action_type = action_type; tmpl.keytype1 = tmpl.keytype2 = keytype; tmpl.optype = optype; tmpl.param_key = params->key; @@ -2786,7 +2786,6 @@ static int evp_pkey_ctx_setget_params_to_ctrl(EVP_PKEY_CTX *pctx, if (translation != NULL) { if (translation->fixup_args != NULL) fixup = translation->fixup_args; - ctx.action_type = translation->action_type; ctx.ctrl_cmd = translation->ctrl_num; } ctx.pctx = pctx;