Botan :: SecureVector - 在构造函数中调用的析构函数?

时间:2010-05-25 16:04:28

标签: c++ botan

在以下单元测试中使用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时会发生分段错误,因为它在构建缓冲区时会尝试释放缓冲区。

1 个答案:

答案 0 :(得分:3)

添加行:

LibraryInitializer botanInit;

运作。

这在我看来是奇怪的行为,所以我想我应该发布它。