Work around issue with GCC 8.5 and earlier For some reason, GCC 8.5 is unable to recognize this as constructing a span. Stashing the initializer list into an array first seems to avoid the issue. Change-Id: I0a50a732d5ecd370d5eee4e722001d8e198e90d0 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74147 Commit-Queue: Adam Langley <agl@google.com> Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/tls_record.cc b/ssl/tls_record.cc index 996ca18..7a02883 100644 --- a/ssl/tls_record.cc +++ b/ssl/tls_record.cc
@@ -246,10 +246,11 @@ *out_consumed = in.size() - CBS_len(&cbs); // In TLS 1.3, during the handshake, skip ChangeCipherSpec records. + static const uint8_t kChangeCipherSpec[] = {SSL3_MT_CCS}; if (ssl_has_final_version(ssl) && ssl_protocol_version(ssl) >= TLS1_3_VERSION && SSL_in_init(ssl) && type == SSL3_RT_CHANGE_CIPHER_SPEC && - Span<const uint8_t>(body) == Span<const uint8_t>({SSL3_MT_CCS})) { + Span<const uint8_t>(body) == kChangeCipherSpec) { ssl->s3->empty_record_count++; if (ssl->s3->empty_record_count > kMaxEmptyRecords) { OPENSSL_PUT_ERROR(SSL, SSL_R_TOO_MANY_EMPTY_FRAGMENTS);