if (a->type != b->type)
return -1;
- if (a->meth)
+ if (a->ameth)
{
int ret;
/* Compare parameters if the algorithm has them */
- if (a->meth->param_cmp)
+ if (a->ameth->param_cmp)
{
- ret = a->meth->param_cmp(a, b);
+ ret = a->ameth->param_cmp(a, b);
if (ret <= 0)
return ret;
}
#ifndef OPENSSL_NO_ENGINE
/* If we have an ENGINE release it */
if (pkey->engine)
+ {
ENGINE_finish(pkey->engine);
+ pkey->engine = NULL;
+ }
#endif
}
if (str)
static void EVP_PKEY_free_it(EVP_PKEY *x)
{
if (x->ameth && x->ameth->pkey_free)
+ {
x->ameth->pkey_free(x);
+ x->pkey.ptr = NULL;
+ }
#ifndef OPENSSL_NO_ENGINE
if (x->engine)
{