Fix bug which would free up a public key

twice if the verify callback tried to
continue after a signature failure.
This commit is contained in:
Dr. Stephen Henson 2000-03-02 00:37:53 +00:00
parent 8782a42627
commit 582e592924

View File

@ -436,11 +436,14 @@ static int internal_verify(X509_STORE_CTX *ctx)
}
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;
if (!ok)
{
EVP_PKEY_free(pkey);
goto end;
}
}
EVP_PKEY_free(pkey);
pkey=NULL;