Merge branch 'bugfix/fix_ble_remove_bond' into 'master'

fix(ble/bluedroid): Fix dangling pointer issue in deletion of bonded devices

Closes BLERP-478

See merge request espressif/esp-idf!28589
This commit is contained in:
Island 2024-01-22 20:35:51 +08:00
commit a4268b88c5
2 changed files with 6 additions and 4 deletions

View File

@ -679,7 +679,7 @@ BOOLEAN bta_gattc_mark_bg_conn (tBTA_GATTC_IF client_if, BD_ADDR_PTR remote_bda
#if (!CONFIG_BT_STACK_NO_LOG)
char bdstr[18] = {0};
#endif
APPL_TRACE_ERROR("%s unable to find the bg connection mask for: %s", __func__,
APPL_TRACE_WARNING("%s unable to find the bg connection mask for: %s", __func__,
bdaddr_to_string((bt_bdaddr_t *)remote_bda_ptr, bdstr, sizeof(bdstr)));
}
return FALSE;

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -72,8 +72,10 @@ static void _btc_storage_save(void)
BTA_DmRemoveDevice(bd_addr.address, BT_TRANSPORT_LE);
BTA_DmRemoveDevice(bd_addr.address, BT_TRANSPORT_BR_EDR);
//delete config info
if(btc_config_remove_section(need_remove_section)) {
BTIF_TRACE_WARNING("exceeded the maximum nubmer of bonded devices, delete the last device info : %s", need_remove_section);
if (btc_config_remove_section(need_remove_section)) {
// The need_remove_section has been freed
BTIF_TRACE_WARNING("Exceeded the maximum number of bonded devices. Deleting the last device info: %02x:%02x:%02x:%02x:%02x:%02x",
bd_addr.address[0], bd_addr.address[1], bd_addr.address[2], bd_addr.address[3], bd_addr.address[4], bd_addr.address[5]);
}
}
}