Improve unpack reserve handling

This commit is contained in:
Lee Clagett
2026-03-14 12:24:55 -04:00
committed by Lee *!* Clagett
parent b9998fc9e1
commit baa631ff75
2 changed files with 39 additions and 2 deletions

View File

@@ -372,6 +372,20 @@ TEST(Serialization, serializes_vector_int64_as_fixed_int)
ASSERT_EQ(57, blob.size());
}
TEST(Serialization, deserializes_vector_reserve)
{
std::vector<int64_t> v;
string blob;
tools::write_varint(std::back_inserter(blob), unsigned(100));
blob.append(std::string(100, 0));
ASSERT_LT(v.capacity(), 20);
ASSERT_FALSE(serialization::parse_binary(blob, v));
ASSERT_LT(v.capacity(), 100); // could fail if lib allocates more in reserve call
}
namespace
{
template<typename T>