fixed the crash of LoadProhibited caused by taht

the nodes are deleted during the traversal of the linked list
pull/11189/head
Jin Cheng 2023-04-06 14:13:05 +08:00
rodzic b5ccdc911d
commit a7a2e5d407
1 zmienionych plików z 8 dodań i 6 usunięć

Wyświetl plik

@ -509,12 +509,14 @@ void btm_acl_device_down (void)
{
tACL_CONN *p = NULL;
BTM_TRACE_DEBUG ("btm_acl_device_down\n");
for (list_node_t *p_node = list_begin(btm_cb.p_acl_db_list); p_node; p_node = list_next(p_node)) {
p = list_node(p_node);
if (p && p->in_use) {
BTM_TRACE_DEBUG ("hci_handle=%d HCI_ERR_HW_FAILURE \n", p->hci_handle );
l2c_link_hci_disc_comp (p->hci_handle, HCI_ERR_HW_FAILURE);
}
for (list_node_t *p_node = list_begin(btm_cb.p_acl_db_list); p_node;) {
list_node_t *p_next = list_next(p_node);
p = list_node(p_node);
if (p && p->in_use) {
BTM_TRACE_DEBUG ("hci_handle=%d HCI_ERR_HW_FAILURE \n", p->hci_handle );
l2c_link_hci_disc_comp (p->hci_handle, HCI_ERR_HW_FAILURE);
}
p_node = p_next;
}
}
/*******************************************************************************