}
if (X509_verify(xs,pkey) <= 0)
{
+ EVP_PKEY_free(pkey);
ctx->error=X509_V_ERR_CERT_SIGNATURE_FAILURE;
ctx->current_cert=xs;
ok=(*cb)(0,ctx);
if (!ok) goto end;
}
+ EVP_PKEY_free(pkey);
pkey=NULL;
i=X509_cmp_current_time(X509_get_notBefore(xs));
}
ok=1;
end:
+ EVP_PKEY_free(pkey);
return(ok);
}
break;
else
{
+ EVP_PKEY_free(ktmp);
ktmp=NULL;
}
}
{
ktmp2=X509_get_pubkey((X509 *)sk_value(chain,j));
EVP_PKEY_copy_parameters(ktmp2,ktmp);
+ EVP_PKEY_free(ktmp2);
}
- if (pkey != NULL)
- EVP_PKEY_copy_parameters(pkey,ktmp);
+ if (pkey != NULL) EVP_PKEY_copy_parameters(pkey,ktmp);
+ EVP_PKEY_free(ktmp);
return(1);
}