Рамка стека NULL в журнале трассировки

Мое приложение получает ошибку сегментации. Журнал обратной трассировки -

Program received signal SIGSEV, Segmentation fault.
0x00000000004a5c03 in engine_unlocked_finish ()

(gdb) bt

#0  0x00000000004a5c03 in engine_unlocked_finish ()
#1  0x00000000004a5d71 in ENGINE_finish ()
#2  0x000000000046a537 in EVP_PKEY_free_it ()
#3  0x000000000046a91b in EVP_PKEY_free ()
#4  0x00000000004b231a in pubkey_cb ()
#5  0x0000000000470c97 in asn1_item_combine_free ()
#6  0x0000000000750f70 in X509_CINF_seq_tt ()
#7  0x00000000010f7d90 in ?? ()
#8  0x00000000010f7cf0 in ?? ()
#9  0x0000000000000000 in ?? ()

Кадр стека в #9 Интересно. Это адрес 0x0000000000000000, Означает ли это, что стек был поврежден еще до того, как engine_unlocked_finish ()?

1 ответ

Решение

Фрейм стека на #9 интересен.

На самом деле, нет. Скорее всего, это X509_CINF_seq_tt это сборка с ручным кодированием, и в ней отсутствуют правильные дескрипторы раскрутки, поэтому все, что находится после нее в трассировке стека, является просто поддельным.

На самом деле, глядя на этот источник, X509_CINF_seq_tt это даже не функция, так что, вероятно, asn1_item_combine_free это начинает "плохо раскручивать".

Другие вопросы по тегам