diff options
| author | markus <> | 2013-02-14 15:11:44 +0000 |
|---|---|---|
| committer | markus <> | 2013-02-14 15:11:44 +0000 |
| commit | 4383d44ca79eba8836d9f92c612c44ba8aeb87bd (patch) | |
| tree | cd2035e8f8ac3d4ade1ee779dcaabbe671c2003a /src/lib/libcrypto/ocsp/ocsp_vfy.c | |
| parent | 4fd69672e5f9867343486cefcdfdd970465430d6 (diff) | |
| download | openbsd-4383d44ca79eba8836d9f92c612c44ba8aeb87bd.tar.gz openbsd-4383d44ca79eba8836d9f92c612c44ba8aeb87bd.tar.bz2 openbsd-4383d44ca79eba8836d9f92c612c44ba8aeb87bd.zip | |
cherry pick bugfixes for http://www.openssl.org/news/secadv_20130205.txt
from the openssl git (changes between openssl 1.0.1c and 1.0.1d).
ok djm@
Diffstat (limited to 'src/lib/libcrypto/ocsp/ocsp_vfy.c')
| -rw-r--r-- | src/lib/libcrypto/ocsp/ocsp_vfy.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ocsp/ocsp_vfy.c b/src/lib/libcrypto/ocsp/ocsp_vfy.c index 415d67e61c..91a45c9133 100644 --- a/src/lib/libcrypto/ocsp/ocsp_vfy.c +++ b/src/lib/libcrypto/ocsp/ocsp_vfy.c | |||
| @@ -91,9 +91,12 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, | |||
| 91 | { | 91 | { |
| 92 | EVP_PKEY *skey; | 92 | EVP_PKEY *skey; |
| 93 | skey = X509_get_pubkey(signer); | 93 | skey = X509_get_pubkey(signer); |
| 94 | ret = OCSP_BASICRESP_verify(bs, skey, 0); | 94 | if (skey) |
| 95 | EVP_PKEY_free(skey); | 95 | { |
| 96 | if(ret <= 0) | 96 | ret = OCSP_BASICRESP_verify(bs, skey, 0); |
| 97 | EVP_PKEY_free(skey); | ||
| 98 | } | ||
| 99 | if(!skey || ret <= 0) | ||
| 97 | { | 100 | { |
| 98 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY, OCSP_R_SIGNATURE_FAILURE); | 101 | OCSPerr(OCSP_F_OCSP_BASIC_VERIFY, OCSP_R_SIGNATURE_FAILURE); |
| 99 | goto end; | 102 | goto end; |
