forked from espressif/esp-idf
Merge branch 'bugfix/fix_pbac_free_undef_mem' into 'master'
fix(bt/bluedroid): Fix some bugs in bluedroid Closes BT-3984 See merge request espressif/esp-idf!37906
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -855,17 +855,14 @@ void btc_pba_client_cb_handler(btc_msg_t *msg)
|
|||||||
btc_queue_advance();
|
btc_queue_advance();
|
||||||
break;
|
break;
|
||||||
case BTA_PBA_CLIENT_CONN_CLOSE_EVT:
|
case BTA_PBA_CLIENT_CONN_CLOSE_EVT:
|
||||||
|
if (p_data->conn.handle != 0) {
|
||||||
/* clear ccb */
|
/* clear ccb */
|
||||||
p_ccb = &btc_pba_client_cb.ccb[p_data->conn.handle - 1];
|
p_ccb = &btc_pba_client_cb.ccb[p_data->conn.handle - 1];
|
||||||
p_ccb->handle = 0;
|
|
||||||
p_ccb->busy = false;
|
|
||||||
p_ccb->path_len = 0;
|
|
||||||
p_ccb->path_pos = 0;
|
|
||||||
if (p_ccb->path) {
|
if (p_ccb->path) {
|
||||||
osi_free(p_ccb->path);
|
osi_free(p_ccb->path);
|
||||||
p_ccb->path = NULL;
|
|
||||||
}
|
}
|
||||||
memset(p_ccb->bd_addr.address, 0, BD_ADDR_LEN);
|
memset(p_ccb, 0, sizeof(btc_pba_client_ccb_t));
|
||||||
|
}
|
||||||
param.conn_stat.connected = false;
|
param.conn_stat.connected = false;
|
||||||
bdcpy(param.conn_stat.remote_bda, p_data->conn.bd_addr);
|
bdcpy(param.conn_stat.remote_bda, p_data->conn.bd_addr);
|
||||||
param.conn_stat.handle = p_data->conn.handle;
|
param.conn_stat.handle = p_data->conn.handle;
|
||||||
|
@@ -92,11 +92,11 @@ void OBEX_Deinit(void)
|
|||||||
if (obex_cb.tl_ops[OBEX_OVER_L2CAP]->deinit != NULL) {
|
if (obex_cb.tl_ops[OBEX_OVER_L2CAP]->deinit != NULL) {
|
||||||
obex_cb.tl_ops[OBEX_OVER_L2CAP]->deinit();
|
obex_cb.tl_ops[OBEX_OVER_L2CAP]->deinit();
|
||||||
}
|
}
|
||||||
/*
|
#if (RFCOMM_INCLUDED == TRUE)
|
||||||
if (obex_cb.tl_ops[OBEX_OVER_RFCOMM]->deinit != NULL) {
|
if (obex_cb.tl_ops[OBEX_OVER_RFCOMM]->deinit != NULL) {
|
||||||
obex_cb.tl_ops[OBEX_OVER_RFCOMM]->deinit();
|
obex_cb.tl_ops[OBEX_OVER_RFCOMM]->deinit();
|
||||||
}
|
}
|
||||||
*/
|
#endif
|
||||||
#if (OBEX_DYNAMIC_MEMORY)
|
#if (OBEX_DYNAMIC_MEMORY)
|
||||||
if (obex_cb_ptr) {
|
if (obex_cb_ptr) {
|
||||||
osi_free(obex_cb_ptr);
|
osi_free(obex_cb_ptr);
|
||||||
|
@@ -240,6 +240,9 @@ ignore:
|
|||||||
- components/bt/host/bluedroid/
|
- components/bt/host/bluedroid/
|
||||||
- '!components/bt/host/bluedroid/api/'
|
- '!components/bt/host/bluedroid/api/'
|
||||||
- '!components/bt/host/bluedroid/btc/'
|
- '!components/bt/host/bluedroid/btc/'
|
||||||
|
- '!components/bt/host/bluedroid/bta/pba/'
|
||||||
|
- '!components/bt/host/bluedroid/stack/goep/'
|
||||||
|
- '!components/bt/host/bluedroid/stack/obex/'
|
||||||
- components/esp_local_ctrl/proto-c/
|
- components/esp_local_ctrl/proto-c/
|
||||||
- components/esp_local_ctrl/python/
|
- components/esp_local_ctrl/python/
|
||||||
- components/protocomm/proto-c/
|
- components/protocomm/proto-c/
|
||||||
|
Reference in New Issue
Block a user