diff --git a/third_party/protobuf/src/google/protobuf/parse_context.h b/third_party/protobuf/src/google/protobuf/parse_context.h index c00048d1670da..7c2385be48b8a 100644 --- a/third_party/protobuf/src/google/protobuf/parse_context.h +++ b/third_party/protobuf/src/google/protobuf/parse_context.h @@ -236,7 +236,9 @@ class PROTOBUF_EXPORT EpsCopyInputStream { if (aliasing_ == kOnPatch) aliasing_ = kNoDelta; return flat.data(); } else { - std::memcpy(buffer_, flat.data(), flat.size()); + if (!flat.empty()) { + std::memcpy(buffer_, flat.data(), flat.size()); + } limit_ = 0; limit_end_ = buffer_end_ = buffer_ + flat.size(); next_chunk_ = nullptr;