Botan::SecureVector - 在构造函数中调用析构函数?
在以下单元测试中使用 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 时会发生分段错误,因为它在构造期间尝试释放缓冲区。
When using the Botan::SecureVector in the following unit test:
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()));
}
a segmentation fault occurs when trying to allocate the SecureVector as it tries to deallocate a buffer during its construction.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
添加行:
来运行。
在我看来,这似乎是奇怪的行为,所以我认为我应该发布它。
Add line:
to function.
This seemed to me to be odd behavior, so I figured I should post it.