Add a getstringifcomplete function to hpackdecoderstringbuffer to return string only when state is complete. used in error details, not protected.
PiperOrigin-RevId: 323777904
Change-Id: I9beb5ace10f4ceb0aeed76bb8c37015ce808a8f6
diff --git a/http2/hpack/decoder/hpack_whole_entry_buffer.cc b/http2/hpack/decoder/hpack_whole_entry_buffer.cc
index dc93d1e..f8d5e9d 100644
--- a/http2/hpack/decoder/hpack_whole_entry_buffer.cc
+++ b/http2/hpack/decoder/hpack_whole_entry_buffer.cc
@@ -93,7 +93,7 @@
if (!error_detected_) {
if (len > max_string_size_bytes_) {
std::string detailed_error = quiche::QuicheStrCat(
- "Value length (", len, ") of [", name_.str(),
+ "Value length (", len, ") of [", name_.GetStringIfComplete(),
"] is longer than permitted (", max_string_size_bytes_, ")");
HTTP2_DVLOG(1) << detailed_error;
ReportError(HpackDecodingError::kValueTooLong, detailed_error);