gfe-relnote: Change a string to a char[16] to avoid using data() in string, which is sometimes const. Fixes a Chrome merge failure of cr/305944808. Protected by existing flags gfe2_reloadable_flag_quic_enable_version_draft_25_v3 and gfe2_reloadable_flag_quic_enable_version_draft_27. Non-const data() on string is available in C++17. PiperOrigin-RevId: 306270586 Change-Id: I15a42c3928bb413dbc1ab3a2adde2f5a339df027
diff --git a/quic/core/crypto/transport_parameters.cc b/quic/core/crypto/transport_parameters.cc index 9cd98e7..30a9880 100644 --- a/quic/core/crypto/transport_parameters.cc +++ b/quic/core/crypto/transport_parameters.cc
@@ -821,9 +821,11 @@ << grease_id64 << " invalid for " << version; TransportParameters::TransportParameterId grease_id = static_cast<TransportParameters::TransportParameterId>(grease_id64); - size_t grease_length = random->RandUint64() % 16; - std::string grease_contents(grease_length, '\0'); - random->RandBytes(grease_contents.data(), grease_contents.size()); + const size_t kMaxGreaseLength = 16; + const size_t grease_length = random->RandUint64() % kMaxGreaseLength; + DCHECK_GE(kMaxGreaseLength, grease_length); + char grease_contents[kMaxGreaseLength]; + random->RandBytes(grease_contents, grease_length); if (!WriteTransportParameterId(&writer, grease_id, version) || !WriteTransportParameterStringPiece(&writer, grease_contents, version)) {