diff options
Diffstat (limited to 'absl/log/internal/proto.cc')
-rw-r--r-- | absl/log/internal/proto.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/absl/log/internal/proto.cc b/absl/log/internal/proto.cc index 80d78eed..86c459b0 100644 --- a/absl/log/internal/proto.cc +++ b/absl/log/internal/proto.cc @@ -106,7 +106,8 @@ bool EncodeBytesTruncate(uint64_t tag, absl::Span<const char> value, const uint64_t tag_type = MakeTagType(tag, WireType::kLengthDelimited); const uint64_t tag_type_size = VarintSize(tag_type); uint64_t length = value.size(); - const uint64_t length_size = VarintSize(length); + const uint64_t length_size = + VarintSize(std::min<uint64_t>(length, buf->size())); if (tag_type_size + length_size <= buf->size() && tag_type_size + length_size + value.size() > buf->size()) { value.remove_suffix(tag_type_size + length_size + value.size() - |