aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2016-07-19 16:03:10 +0100
committerDr. Stephen Henson <steve@openssl.org>2016-07-20 00:14:36 +0100
commitb5c835b39917a715ef45c48e521427eb08221d4d (patch)
tree61aaa2179ada9ee33c9840b861572b2941524be1
parent9ae9cbc0c7c8a4629a6b68bdc690fe85d82b35ca (diff)
downloadopenssl-b5c835b39917a715ef45c48e521427eb08221d4d.tar.gz
Sanity check in ssl_get_algorithm2().
RT#4600 Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 52eede5a970fdb30c4ed6d3663e51f36bd1b1c73) Conflicts: ssl/s3_lib.c
-rw-r--r--ssl/s3_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index 872e636af9..f2aaf36c40 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -4528,7 +4528,10 @@ int ssl3_renegotiate_check(SSL *s)
*/
long ssl_get_algorithm2(SSL *s)
{
- long alg2 = s->s3->tmp.new_cipher->algorithm2;
+ long alg2;
+ if (s->s3 == NULL || s->s3->tmp.new_cipher == NULL)
+ return -1;
+ alg2 = s->s3->tmp.new_cipher->algorithm2;
if (s->method->ssl3_enc->enc_flags & SSL_ENC_FLAG_SHA256_PRF
&& alg2 == (SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF))
return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256;