Fix Chromium compiler error. The source of the compilation difference here is that before C++17, std::string::data() is const, but C++17 added a non-const version that allows writing to it Unused code. not protected. PiperOrigin-RevId: 310222049 Change-Id: I21c44b2e0f8b705980ad8fc3120e47c6fa9bf9b7
diff --git a/quic/core/http/http_decoder.cc b/quic/core/http/http_decoder.cc index 7c3b81b..d6c97ee 100644 --- a/quic/core/http/http_decoder.cc +++ b/quic/core/http/http_decoder.cc
@@ -50,19 +50,14 @@ QUIC_DLOG(ERROR) << "Invalid frame type " << frame_type; return false; } - uint64_t frame_length; - if (!reader.ReadVarInt62(&frame_length)) { - QUIC_DLOG(ERROR) << "Unable to read frame length."; + + quiche::QuicheStringPiece frame_contents; + if (!reader.ReadStringPieceVarInt62(&frame_contents)) { + QUIC_DLOG(ERROR) << "Failed to read SETTINGS frame contents"; return false; } - std::string buffer; - if (!reader.ReadBytes(buffer.data(), frame_length)) { - QUIC_DLOG(ERROR) << "Unable to read frame payload."; - return false; - } - - QuicDataReader frame_reader(buffer.data(), frame_length); + QuicDataReader frame_reader(frame_contents); while (!frame_reader.IsDoneReading()) { uint64_t id;