diff options
author | jkim <jkim@FreeBSD.org> | 2013-02-13 23:07:20 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2013-02-13 23:07:20 +0000 |
commit | 754bee57763650b50ece26c6f026c1795b4132d8 (patch) | |
tree | 265bba8e82f9a88ce59fc212bc8bf5e01c270b16 /crypto/openssl/crypto/ocsp/ocsp_vfy.c | |
parent | a6d6a2787087806f8a0ae6290d1df47c9471a269 (diff) | |
parent | 9069337c8384d04bea914cdfac40b533e60cade6 (diff) | |
download | FreeBSD-src-754bee57763650b50ece26c6f026c1795b4132d8.zip FreeBSD-src-754bee57763650b50ece26c6f026c1795b4132d8.tar.gz |
Merge OpenSSL 1.0.1e.
Approved by: secteam (simon), benl (silence)
Diffstat (limited to 'crypto/openssl/crypto/ocsp/ocsp_vfy.c')
-rw-r--r-- | crypto/openssl/crypto/ocsp/ocsp_vfy.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/crypto/openssl/crypto/ocsp/ocsp_vfy.c b/crypto/openssl/crypto/ocsp/ocsp_vfy.c index 415d67e..2767183 100644 --- a/crypto/openssl/crypto/ocsp/ocsp_vfy.c +++ b/crypto/openssl/crypto/ocsp/ocsp_vfy.c @@ -91,9 +91,12 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, { EVP_PKEY *skey; skey = X509_get_pubkey(signer); - ret = OCSP_BASICRESP_verify(bs, skey, 0); - EVP_PKEY_free(skey); - if(ret <= 0) + if (skey) + { + ret = OCSP_BASICRESP_verify(bs, skey, 0); + EVP_PKEY_free(skey); + } + if(!skey || ret <= 0) { OCSPerr(OCSP_F_OCSP_BASIC_VERIFY, OCSP_R_SIGNATURE_FAILURE); goto end; @@ -108,6 +111,7 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, init_res = X509_STORE_CTX_init(&ctx, st, signer, bs->certs); if(!init_res) { + ret = -1; OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,ERR_R_X509_LIB); goto end; } |