OpenSSLv1.0.2l:SSL_free分段错误

时间:2018-12-18 19:46:08

标签: openssl

我正在将openssl用于基于ARM的目标,并且已经从具有FIPS的源交叉编译了OpenSSLv1.0.2l。 我已经使用OpenSSL API实现了基于DTLSv1.2的服务器,并且能够在我的目标上运行它。

我面临的问题是,当出现网络故障时,我尝试清理当前的DTLS会话,但是在SSL_free期间我总是遇到分段错误。

如果我删除SSL_free,则分段错误会消失,但我需要调用它以释放ssl会话内存。

我发现使用GDB进行进一步调试时

(gdb) bt
#0  0xb6e3cc10 in dtls1_get_record () from /usr/lib   /libssl.so.1.0.0
#1  0xb6e3d928 in dtls1_read_bytes () from /usr/lib/libssl.so.1.0.0
#2  0xb6e28264 in ssl3_read () from /usr/lib/libssl.so.1.0.0
#3  0x000a7180 in ??()

代码段:

SSL_set_shutdown(p_cinfo->m_pssl, SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN);stat = SSL_shutdown(p_cinfo->m_pssl); switch(stat) { case 1: printf("Shutdown successfull\n"); break;
case 0: case -1: default: printf("Error Shutting down \n"); print_ssl_err(p_cinfo->m_pssl, stat); break; } SSL_free(p_cinfo->m_pssl);

关于上述问题的任何线索都将非常有帮助。

我也想知道如何识别1.0.2的长期版本 系列,其中包含我可以用于项目的大多数错误修复程序。

谢谢 新泽西州

0 个答案:

没有答案