使用LibreSSL的libtls时,是否可以释放tls_init()
分配的内存?
我发现使用valgrind一个只调用tls_init()
代码的简单程序会使2058块内存“仍然可以访问”。我知道“仍然可以访问”的内存并不是严格意义上的内存泄漏,当程序退出时它将被操作系统清理......但这使得识别我自己的内存问题更加令人讨厌。
OpenSSL的SSL_library_init()
似乎没有同样的问题。
我在Linux上使用libressl-portable github页面构建源代码。
这个问题也在libressl邮件列表中提出。 The answer is no, at least not with the current libtls API。
目前使用valgrind is to use the --suppressions
option进行内存测试的最佳替代方案。