Fix SIGSEGV of eapol_test
Running eapol_test to FreeRADIUS 3.0.25 causes trailing SIGSEGV.
WPA_TRACE: eloop SIGSEGV - START
[1]: ./eapol_test(+0x67de6) [0x55b84fa4ade6]
eloop_sigsegv_handler() ../src/utils/eloop.c:123
[2]: /lib/x86_64-linux-gnu/libc.so.6(+0x430c0) [0x7fec94ad20c0]
[3]: ./eapol_test(dpp_tcp_conn_status_requested+0x4) [0x55b84fa7e674]
dpp_tcp_conn_status_requested() ../src/common/dpp_tcp.c:2246
[4]: ./eapol_test(wpas_dpp_connected+0x3c) [0x55b84fa816dc]
wpas_dpp_connected() dpp_supplicant.c:437
[5]: ./eapol_test(wpa_supplicant_set_state+0x48d) [0x55b84fc12c9d]
wpa_supplicant_set_state() wpa_supplicant.c:1067
[6]: ./eapol_test(eapol_sm_step+0x4b4) [0x55b84fb3b994]
sm_SUPP_PAE_Step() ../src/eapol_supp/eapol_supp_sm.c:419
eapol_sm_step() ../src/eapol_supp/eapol_supp_sm.c:989
[7]: ./eapol_test(eapol_sm_rx_eapol+0x190) [0x55b84fb3c060]
eapol_sm_rx_eapol() ../src/eapol_supp/eapol_supp_sm.c:1293
[8]: ./eapol_test(+0x24760f) [0x55b84fc2a60f]
ieee802_1x_decapsulate_radius() eapol_test.c:834
ieee802_1x_receive_auth() eapol_test.c:945
[9]: ./eapol_test(+0x248d46) [0x55b84fc2bd46]
radius_client_receive() ../src/radius/radius_client.c:937
[10]: ./eapol_test(+0x68323) [0x55b84fa4b323]
eloop_sock_table_dispatch() ../src/utils/eloop.c:606
[11]: ./eapol_test(eloop_run+0x251) [0x55b84fa4be51]
eloop_sock_table_dispatch() ../src/utils/eloop.c:597
eloop_run() ../src/utils/eloop.c:1234
[12]: ./eapol_test(main+0x8cf) [0x55b84fa30d6f]
main() eapol_test.c:1517
WPA_TRACE: eloop SIGSEGV - END
Aborted (core dumped)
Fixes: 33cb47cf01
("DPP: Fix connection result reporting when using TCP")
Reported-by: Alexander Clouter <alex+hostapd@coremem.com>
Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
This commit is contained in:
parent
576662d277
commit
1f5b6085c1
1 changed files with 3 additions and 0 deletions
|
@ -2243,6 +2243,9 @@ bool dpp_tcp_conn_status_requested(struct dpp_global *dpp)
|
||||||
{
|
{
|
||||||
struct dpp_connection *conn;
|
struct dpp_connection *conn;
|
||||||
|
|
||||||
|
if (!dpp)
|
||||||
|
return false;
|
||||||
|
|
||||||
dl_list_for_each(conn, &dpp->tcp_init, struct dpp_connection, list) {
|
dl_list_for_each(conn, &dpp->tcp_init, struct dpp_connection, list) {
|
||||||
if (conn->auth && conn->auth->conn_status_requested)
|
if (conn->auth && conn->auth->conn_status_requested)
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in a new issue