summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ocsp
diff options
context:
space:
mode:
authormarkus <>2013-02-14 15:11:44 +0000
committermarkus <>2013-02-14 15:11:44 +0000
commit9822d929c08eed1446dc09464293449326730af2 (patch)
treecd2035e8f8ac3d4ade1ee779dcaabbe671c2003a /src/lib/libcrypto/ocsp
parent692574e51be904b35cfcb2609fd641e93dc8cef7 (diff)
downloadopenbsd-9822d929c08eed1446dc09464293449326730af2.tar.gz
openbsd-9822d929c08eed1446dc09464293449326730af2.tar.bz2
openbsd-9822d929c08eed1446dc09464293449326730af2.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')
-rw-r--r--src/lib/libcrypto/ocsp/ocsp_vfy.c9
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;