From 187963b945a1e9db1d47de8da0f5b0066592f835 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 6 Jun 2022 10:32:49 +0100 Subject: Don't report success from ec_export if OSSL_PARAM_BLD_to_param failed If the call to OSSL_PARAM_BLD_to_param() failed then ec_export was reporting success, even though it has never called the param_cb. Found due to: https://github.com/openssl/openssl/pull/18355#issuecomment-1145993650 Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/18483) (cherry picked from commit 7d6aad832b4cebb181c53ab80a3f61dc8549be08) --- providers/implementations/keymgmt/ec_kmgmt.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'providers') diff --git a/providers/implementations/keymgmt/ec_kmgmt.c b/providers/implementations/keymgmt/ec_kmgmt.c index 44cb7c7140..bfaae4f234 100644 --- a/providers/implementations/keymgmt/ec_kmgmt.c +++ b/providers/implementations/keymgmt/ec_kmgmt.c @@ -498,6 +498,8 @@ int ec_export(void *keydata, int selection, OSSL_CALLBACK *param_cb, if (ok && (params = OSSL_PARAM_BLD_to_param(tmpl)) != NULL) ok = param_cb(params, cbarg); + else + ok = 0; end: OSSL_PARAM_free(params); OSSL_PARAM_BLD_free(tmpl); -- cgit v1.2.3