#if OPENSSL_VERSION_MAJOR >= 3
using ParamsBuilder = std::unique_ptr<OSSL_PARAM_BLD, decltype(&OSSL_PARAM_BLD_free)>;
+ using Params = std::unique_ptr<OSSL_PARAM, decltype(&OSSL_PARAM_free)>;
auto params_build = ParamsBuilder(OSSL_PARAM_BLD_new(), OSSL_PARAM_BLD_free);
if (params_build == nullptr) {
return -1;
}
- auto* params = OSSL_PARAM_BLD_to_param(params_build.get());
+ auto params = Params(OSSL_PARAM_BLD_to_param(params_build.get()), OSSL_PARAM_free);
if (params == nullptr) {
return -1;
}
- if (EVP_MAC_CTX_set_params(hctx, params) == 0) {
+ if (EVP_MAC_CTX_set_params(hctx, params.get()) == 0) {
return -1;
}
{
#if OPENSSL_VERSION_MAJOR >= 3
using ParamsBuilder = std::unique_ptr<OSSL_PARAM_BLD, decltype(&OSSL_PARAM_BLD_free)>;
+ using Params = std::unique_ptr<OSSL_PARAM, decltype(&OSSL_PARAM_free)>;
auto params_build = ParamsBuilder(OSSL_PARAM_BLD_new(), OSSL_PARAM_BLD_free);
if (params_build == nullptr) {
return false;
}
- auto* params = OSSL_PARAM_BLD_to_param(params_build.get());
+ auto params = Params(OSSL_PARAM_BLD_to_param(params_build.get()), OSSL_PARAM_free);
if (params == nullptr) {
return false;
}
- if (EVP_MAC_CTX_set_params(hctx, params) == 0) {
+ if (EVP_MAC_CTX_set_params(hctx, params.get()) == 0) {
return false;
}