summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/ssl/s3_enc.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2014-08-07 18:56:10 +0000
committerjkim <jkim@FreeBSD.org>2014-08-07 18:56:10 +0000
commit3299c3be1ad20ab974be3dd97789e20b68dfa949 (patch)
tree466b55a31fe1a87db4dfcbef9e5d2f3e8aec65e1 /crypto/openssl/ssl/s3_enc.c
parentc934f5fd2852ea5ed2fcbb043e6cf7316daa7e7e (diff)
parent8bd1d6691f94efdce2338dffd823889f6c6b8ed2 (diff)
downloadFreeBSD-src-3299c3be1ad20ab974be3dd97789e20b68dfa949.zip
FreeBSD-src-3299c3be1ad20ab974be3dd97789e20b68dfa949.tar.gz
Merge OpenSSL 1.0.1i.
Diffstat (limited to 'crypto/openssl/ssl/s3_enc.c')
-rw-r--r--crypto/openssl/ssl/s3_enc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/crypto/openssl/ssl/s3_enc.c b/crypto/openssl/ssl/s3_enc.c
index e3cd4f0..9962677 100644
--- a/crypto/openssl/ssl/s3_enc.c
+++ b/crypto/openssl/ssl/s3_enc.c
@@ -642,10 +642,18 @@ int ssl3_cert_verify_mac(SSL *s, int md_nid, unsigned char *p)
int ssl3_final_finish_mac(SSL *s,
const char *sender, int len, unsigned char *p)
{
- int ret;
+ int ret, sha1len;
ret=ssl3_handshake_mac(s,NID_md5,sender,len,p);
+ if(ret == 0)
+ return 0;
+
p+=ret;
- ret+=ssl3_handshake_mac(s,NID_sha1,sender,len,p);
+
+ sha1len=ssl3_handshake_mac(s,NID_sha1,sender,len,p);
+ if(sha1len == 0)
+ return 0;
+
+ ret+=sha1len;
return(ret);
}
static int ssl3_handshake_mac(SSL *s, int md_nid,
OpenPOWER on IntegriCloud