Updates following review feedback
authorMatt Caswell <matt@openssl.org>
Thu, 16 Mar 2017 14:06:00 +0000 (14:06 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 16 Mar 2017 14:20:38 +0000 (14:20 +0000)
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2895)

ssl/statem/statem_lib.c
ssl/statem/statem_srvr.c

index 04ac795114ab1f658504b8d0d474c477f91b1c30..5164cc0c29aeb7e37b5690b655710a512f106cdf 100644 (file)
@@ -1881,12 +1881,9 @@ int create_synthetic_message_hash(SSL *s)
 {
     unsigned char hashval[EVP_MAX_MD_SIZE];
     size_t hashlen = 0;
 {
     unsigned char hashval[EVP_MAX_MD_SIZE];
     size_t hashlen = 0;
-    unsigned char msghdr[SSL3_HM_HEADER_LENGTH] = {
-        SSL3_MT_MESSAGE_HASH,
-        0,
-        0,
-        0
-    };
+    unsigned char msghdr[SSL3_HM_HEADER_LENGTH];
+
+    memset(msghdr, 0, sizeof(msghdr));
 
     /* Get the hash of the initial ClientHello */
     if (!ssl3_digest_cached_records(s, 0)
 
     /* Get the hash of the initial ClientHello */
     if (!ssl3_digest_cached_records(s, 0)
@@ -1900,6 +1897,7 @@ int create_synthetic_message_hash(SSL *s)
         return 0;
 
     /* Inject the synthetic message_hash message */
         return 0;
 
     /* Inject the synthetic message_hash message */
+    msghdr[0] = SSL3_MT_MESSAGE_HASH;
     msghdr[SSL3_HM_HEADER_LENGTH - 1] = hashlen;
     if (!ssl3_finish_mac(s, msghdr, SSL3_HM_HEADER_LENGTH)
             || !ssl3_finish_mac(s, hashval, hashlen)) {
     msghdr[SSL3_HM_HEADER_LENGTH - 1] = hashlen;
     if (!ssl3_finish_mac(s, msghdr, SSL3_HM_HEADER_LENGTH)
             || !ssl3_finish_mac(s, hashval, hashlen)) {
index a1feb27a6cc7a9aaaf567b3c4794400da857618e..78f977fcc8516e36cf71f95f26345c6b4fd269fb 100644 (file)
@@ -1534,7 +1534,7 @@ static int tls_early_post_process_client_hello(SSL *s, int *al)
         goto err;
     }
 
         goto err;
     }
 
-    /* TLSv1.3 defines that a ClientHello must end on a record boundary */
+    /* TLSv1.3 specifies that a ClientHello must end on a record boundary */
     if (SSL_IS_TLS13(s) && RECORD_LAYER_processed_read_pending(&s->rlayer)) {
         *al = SSL_AD_UNEXPECTED_MESSAGE;
         SSLerr(SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO,
     if (SSL_IS_TLS13(s) && RECORD_LAYER_processed_read_pending(&s->rlayer)) {
         *al = SSL_AD_UNEXPECTED_MESSAGE;
         SSLerr(SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO,