OpenSSLv1.0.2l: ошибка сегментации SSL_free - PullRequest
0 голосов
/ 18 декабря 2018

Я использую openssl для цели на основе ARM, и я кросс-скомпилировал OpenSSLv1.0.2l из источников с FIPS.Я реализовал сервер на базе DTLSv1.2 с помощью API-интерфейсов OpenSSL и смог запустить его на своей цели.

Проблема, с которой я сталкиваюсь, - когда происходит сбой сети, я пытаюсь очистить текущий сеанс 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;<br> 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 с большинством исправлений ошибок, которые я мог бы использовать для своего проекта.

Спасибо, NJ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...