分配X509_STORE的内存时,内存泄漏与Openssl

时间:2016-07-08 10:50:11

标签: c++ windows memory-leaks openssl

我在我的项目中使用openssl。当我退出我的应用程序时,我得到"检测到内存泄漏!"在Visual Studio 2013中。

Detected memory leaks!
Dumping objects ->
{70202} normal block at 0x056CB738, 12 bytes long.
 Data: <8 j         > 38 E8 6A 05 00 00 00 00 04 00 00 00 
{70201} normal block at 0x056CB6E8, 16 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
{70200} normal block at 0x056CB698, 20 bytes long.
 Data: <      l         > 00 00 00 00 E8 B6 6C 05 00 00 00 00 04 00 00 00 
{70199} normal block at 0x056AE838, 12 bytes long.
 Data: <      l     > 04 00 00 00 98 B6 6C 05 00 00 00 00 
{70198} normal block at 0x056CB618, 64 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
{70197} normal block at 0x056CB578, 96 bytes long.
 Data: <  l    3   3    > 18 B6 6C 05 00 FE C0 33 C0 FD C0 33 08 00 00 00 
Object dump complete.

当我添加

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
_CrtSetBreakAlloc(70202);

到main main函数我总是在x509存储的分配中获得一个断点,无论我设置断点的6个数字(70202,...)中的哪一个。

我在一个班级中初始化并取消初始化x509商店&#39;构造函数和析构函数(见下文)。 使用x509_STORE时还需要注意什么吗?

Foo::CSCACerts::CSCACerts(void)
{
    m_store = X509_STORE_new();
}


Foo::CSCACerts::~CSCACerts(void)
{
    X509_STORE_free( m_store );
}

0 个答案:

没有答案
相关问题