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

标签 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 时会发生段错误,因为它在构造期间尝试释放缓冲区。

最佳答案

添加行:

LibraryInitializer botanInit;

发挥作用。

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

关于c++ - Botan::SecureVector - 在构造函数中调用析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906350/

相关文章:

C++ Linux Sockets 在 char *msg 中添加变量

c++ - qt 5中的信号槽问题

c++ - 使用MSVC在Windows上编译报错Botan库

c++ - swprintf 和 vswprintf 未声明?

c++ - 标识符 "unlock"未定义

c++ - SHA1+RSA - 帮助在 C++ 中使用 Botan

aes - 参数无效 : AES-128/XTS cannot accept a key of length 16

c++ - 如何在 multimap 的字符串中查找子字符串

c++ - 从 Qt4 移植到 Qt5 时 Ctrl+U 组合键丢失

c++ - Qt5+ 中的可拆卸选项卡