服务器关闭连接时 SSL_free 崩溃

问题描述 投票:0回答:1

我有一个 C http 客户端,它使用 OpenSSL 来处理加密,而 libuv 是主干循环。 有时,当服务器断开我的客户端连接时,清理过程会导致 SSL_free 上的可执行文件崩溃。

执行清理的代码如下:

if (ssl)
    SSL_free(ssl);

ssl = nullptr;
read_bio = nullptr;
write_bio = nullptr;

错误是“无效指针”或有时是“双重释放”,但老实说不明白为什么。

我尝试调用SSL_shutdown,尝试在SSL_free之前读取任何ssl错误,但我没有发现任何有用的东西。

任何帮助表示赞赏!

c++ ssl openssl segmentation-fault
1个回答
-1
投票

这意味着代码的其他部分存在错误,并且在清理之前正在更改

ssl
(可能会释放它)。

© www.soinside.com 2019 - 2024. All rights reserved.