summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2018-11-08 14:03:17 +0000
committerMatt Caswell <matt@openssl.org>2018-11-15 11:48:08 +0000
commit157af9be4106c951afadf7b12afe4cbaba0c0823 (patch)
tree90791b61aa98621245b94cfbf3317037bcb8b248 /ssl
parentac48fba036e1764dfa98ed0f0aa932491aa1c4ef (diff)
Add a missing SSLfatal call
A missing SSLfatal call can result in an assertion failed error if the condition gets triggered. Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7594)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/s3_msg.c8
-rw-r--r--ssl/t1_enc.c5
2 files changed, 10 insertions, 3 deletions
diff --git a/ssl/s3_msg.c b/ssl/s3_msg.c
index 42382547fb..040a7284b0 100644
--- a/ssl/s3_msg.c
+++ b/ssl/s3_msg.c
@@ -26,12 +26,16 @@ int ssl3_do_change_cipher_spec(SSL *s)
}
s->session->cipher = s->s3->tmp.new_cipher;
- if (!s->method->ssl3_enc->setup_key_block(s))
+ if (!s->method->ssl3_enc->setup_key_block(s)) {
+ /* SSLfatal() already called */
return 0;
+ }
}
- if (!s->method->ssl3_enc->change_cipher_state(s, i))
+ if (!s->method->ssl3_enc->change_cipher_state(s, i)) {
+ /* SSLfatal() already called */
return 0;
+ }
return 1;
}
diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c
index 2db913fb06..2be37c76b2 100644
--- a/ssl/t1_enc.c
+++ b/ssl/t1_enc.c
@@ -131,8 +131,11 @@ int tls1_change_cipher_state(SSL *s, int which)
}
dd = s->enc_read_ctx;
mac_ctx = ssl_replace_hash(&s->read_hash, NULL);
- if (mac_ctx == NULL)
+ if (mac_ctx == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS1_CHANGE_CIPHER_STATE,
+ ERR_R_INTERNAL_ERROR);
goto err;
+ }
#ifndef OPENSSL_NO_COMP
COMP_CTX_free(s->expand);
s->expand = NULL;