Tidy up ssl3_get_message slightly.

Change-Id: Iccd86440bf8721098050fac220dc9bb80bbfc670
Reviewed-on: https://boringssl-review.googlesource.com/8983
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/s3_both.c b/ssl/s3_both.c
index 9b0ebc9..8092eb9 100644
--- a/ssl/s3_both.c
+++ b/ssl/s3_both.c
@@ -563,27 +563,24 @@
   ssl_do_msg_callback(ssl, 0 /* read */, ssl->version, SSL3_RT_HANDSHAKE,
                       ssl->init_buf->data, ssl->init_buf->length);
 
+  ssl->s3->tmp.message_type = ((const uint8_t *)ssl->init_buf->data)[0];
+  ssl->init_msg = (uint8_t*)ssl->init_buf->data + 4;
+  ssl->init_num = ssl->init_buf->length - 4;
+
   /* Ignore stray HelloRequest messages. Per RFC 5246, section 7.4.1.1, the
    * server may send HelloRequest at any time. */
-  static const uint8_t kHelloRequest[4] = {SSL3_MT_HELLO_REQUEST, 0, 0, 0};
   if (!ssl->server &&
-      (!ssl->s3->have_version ||
-       ssl3_protocol_version(ssl) < TLS1_3_VERSION) &&
-      ssl->init_buf->length == sizeof(kHelloRequest) &&
-      memcmp(kHelloRequest, ssl->init_buf->data, sizeof(kHelloRequest)) == 0) {
+      (!ssl->s3->have_version || ssl3_protocol_version(ssl) < TLS1_3_VERSION) &&
+      ssl->s3->tmp.message_type == SSL3_MT_HELLO_REQUEST &&
+      ssl->init_num == 0) {
     goto again;
   }
 
-  uint8_t actual_type = ((const uint8_t *)ssl->init_buf->data)[0];
-  if (msg_type >= 0 && actual_type != msg_type) {
+  if (msg_type >= 0 && ssl->s3->tmp.message_type != msg_type) {
     ssl3_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNEXPECTED_MESSAGE);
     OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_MESSAGE);
     return -1;
   }
-  ssl->s3->tmp.message_type = actual_type;
-
-  ssl->init_msg = (uint8_t*)ssl->init_buf->data + 4;
-  ssl->init_num = ssl->init_buf->length - 4;
 
   /* Feed this message into MAC computation. */
   if (hash_message == ssl_hash_message && !ssl3_hash_current_message(ssl)) {