在以下单元测试中使用Botan :: SecureVector时:
void UnitTest()
{
std::vector<byte> vbData;
vbData.push_back(0x04);
vbData.push_back(0x04);
vbData.push_back(0x04);
Botan::SecureVector<Botan::byte> svData(&vbData[0], vbData.size());
CPPUNIT_ASSERT(vbData == std::vector<byte>(svData.begin(), svData.end()));
}
尝试分配SecureVector时会发生分段错误,因为它在构建缓冲区时会尝试释放缓冲区。
答案 0 :(得分:3)
添加行:
LibraryInitializer botanInit;
运作。
这在我看来是奇怪的行为,所以我想我应该发布它。