The exporter freed a buffer too soon, and there were attempts to use
its data later, which was overwritten by something else at that
point.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11358)
if ((selection & OSSL_KEYMGMT_SELECT_OTHER_PARAMETERS) != 0)
ok = ok && otherparams_to_params(ec, tmpl, NULL);
- if (!ok
- || (params = OSSL_PARAM_BLD_to_param(tmpl)) == NULL)
- goto err;
+ if (ok && (params = OSSL_PARAM_BLD_to_param(tmpl)) != NULL)
+ ok = param_cb(params, cbarg);
- ok = param_cb(params, cbarg);
OSSL_PARAM_BLD_free_params(params);
-err:
OSSL_PARAM_BLD_free(tmpl);
OPENSSL_free(pub_key);
return ok;