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)) {