Skip to content

Commit

Permalink
Merge branch 'bugfix/delete_node_during_list_traverse' into 'master'
Browse files Browse the repository at this point in the history
bugfix/fixed the crash of LoadProhibited caused by taht the nodes are deleted during the traversal of the linked list

Closes IDFGH-3256

See merge request espressif/esp-idf!23090
  • Loading branch information
jack0c committed Apr 7, 2023
2 parents d6421fd + a7a2e5d commit a15c36f
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions components/bt/host/bluedroid/stack/btm/btm_acl.c
Expand Up @@ -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;
}
}
/*******************************************************************************
Expand Down

0 comments on commit a15c36f

Please sign in to comment.