Ensure verify error is set when X509_verify_cert() fails
authorViktor Dukhovni <openssl-users@dukhovni.org>
Tue, 17 May 2016 22:25:40 +0000 (18:25 -0400)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Thu, 19 May 2016 22:15:08 +0000 (18:15 -0400)
commit5553a12735e11bc9aa28727afe721e7236788aab
treebc5f15f65e996d048ee56b390f884f2f1f3fd3bb
parent96747f0f4e43863a1ec446a95463c2fca9b6ae82
Ensure verify error is set when X509_verify_cert() fails

Set ctx->error = X509_V_ERR_OUT_OF_MEM when verificaiton cannot
continue due to malloc failure.  Similarly for issuer lookup failures
and caller errors (bad parameters or invalid state).

Also, when X509_verify_cert() returns <= 0 make sure that the
verification status does not remain X509_V_OK, as a last resort set
it it to X509_V_ERR_UNSPECIFIED, just in case some code path returns
an error without setting an appropriate value of ctx->error.

Add new and some missing error codes to X509 error -> SSL alert switch.

Reviewed-by: Tim Hudson <tjh@openssl.org>
crypto/x509/x509_txt.c
crypto/x509/x509_vfy.c
crypto/x509/x509_vfy.h
crypto/x509v3/v3_addr.c
ssl/s3_both.c