From 7d6aad832b4cebb181c53ab80a3f61dc8549be08 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 6 Jun 2022 10:32:49 +0100 Subject: [PATCH] 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) --- providers/implementations/keymgmt/ec_kmgmt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/providers/implementations/keymgmt/ec_kmgmt.c b/providers/implementations/keymgmt/ec_kmgmt.c index e120760e5f..6f8638a898 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); -- 2.34.1