Недавно я начал изучать утечки памяти на С++, поэтому я могу задать наивные вопросы.
У меня есть библиотека С++, использующая OpenSSL - моя задача - проверить, нет ли утечек памяти в этой библиотеке. Я проверил визуальный детектор утечки, чтобы проверить утечки памяти.
Я вижу, что вызовы SSL_library_init();
и SSL_load_error_strings();
приводят к утечке - быстрый поиск в googling показывает, что в конце использования я должен вызвать следующие действия:
CONF_modules_free();
ERR_remove_state(0);
ENGINE_cleanup();
CONF_modules_unload(1);
ERR_free_strings();
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
Утечка действительно уменьшилась, но все же есть два утечки (что показывает инструмент VLD), которые происходят из-за вызова SSL_library_init
.
кто-нибудь знает, что еще мне нужно сделать, чтобы освободить все утечки памяти?