Commit Graph
100 Commits
Author SHA1 Message Date
Jin Cheng 33dd9beb7b fix(bt): fixed semaphore deletion condition in UART DMA deinit 2026-01-19 16:48:47 +08:00
Jin Cheng 17bf90c266 fix(bt): enhanced packet length check in sdp_server.c 2026-01-19 16:48:47 +08:00
Jin Cheng 0127452b05 fix(bt): enhanced packet length check for avrc_pars_vendor_cmd 2026-01-19 16:48:47 +08:00
Jin Cheng 11852eb312 fix(bt): enhanced packet length check for HCI module 2026-01-19 16:48:47 +08:00
Jin Cheng a398f76b86 fix(bt): validated UUID parameters in BTA_JvStartDiscovery 2026-01-19 16:48:44 +08:00
Jin Cheng c510c8abf8 fix(bt/bluedroid): A2DP source at acceptor side will miss ESP_A2D_AUDIO_CFG_EVT 2026-01-19 16:47:27 +08:00
Jin Cheng a0030af291 fix(bt/bluedroid): add status management for audio sink service channel 2026-01-15 09:11:52 +08:00
Jin Cheng cf13b1db22 fix(bt/controller): fixed wrong key type during changing connection link key 2026-01-09 18:12:06 +08:00
Jin Cheng af327e091d fix(bt/bluedroid): cleaned the code according to the tool cppcheck 2025-12-19 11:17:18 +08:00
Jin Cheng 3bd5258fe4 fix(bt/bluedroid): fixed possible OOB read in smp_br_data_received 2025-12-19 11:17:18 +08:00
Jin Cheng 8c838d90c5 fix(bt/bluedroid): drop connection when atttempting to disable encryption 2025-12-19 11:17:18 +08:00
Jin Cheng 50c4f60ad5 fix(bt/bluedroid): fixed an integer overflow bug in attp_build_read_multi_cmd 2025-12-19 11:17:18 +08:00
Jin Cheng fa22b3cac2 fix(bt/bluedroid): fixed an integer overflow bug in avdt_msg_asmbl 2025-12-19 11:17:18 +08:00
Jin Cheng 72a8251a45 fix(bt/bluedroid): fixed an OOB bug in bta_av_setconfig_rej 2025-12-19 11:17:18 +08:00
Jin Cheng 72b2acf9c5 fix(bt/bluedroid): fixed an OOB bug in btm_read_rssi_complete 2025-12-19 11:17:18 +08:00
Jin Cheng 9c939b8df2 fix(bt/bluedroid): fixed an OOB bug in btm_delete_stored_link_key_complete 2025-12-19 11:17:18 +08:00
Jin Cheng 4c5e31394b fix(bt/bluedroid): fixed an OOB bug in btm_read_tx_power_complete 2025-12-19 11:17:18 +08:00
Jin Cheng 68865736c4 fix(bt/bluedroid): fixed an OOB bug in btm_create_conn_cancel_complete 2025-12-19 11:17:18 +08:00
Jin Cheng a812ec11ce fix(bt/bluedroid): fixed an OOB bug in btm_read_local_oob_complete 2025-12-19 11:17:18 +08:00
Jin Cheng 45dd55dbf6 fix(bt/bluedroid): fixed an OOB write in SDP_AddAttribute 2025-12-19 11:17:18 +08:00
Jin Cheng c6bd4d714f fix(bt/bluedroid): report failure when not able to connect to AVRCP 2025-12-19 11:17:18 +08:00
Jin Cheng 947af75cad fix(bt/bluedroid): fixed buffer overflow in BRSF 2025-12-19 11:17:18 +08:00
Jin Cheng d3155a5a4f fix(bt/bluedroid): added negative length check in process_service_search_rsp 2025-12-19 11:17:18 +08:00
Jin Cheng 190d7690f7 fix(bt/bluedroid): fixed OOB read in SDP server continuation length 2025-12-19 11:17:18 +08:00
Jin Cheng c7f1b1a954 fix(bt/bluedroid): added length check when copy AVDTP packet 2025-12-19 11:17:18 +08:00
Jin Cheng e49da3f737 fix(bt/bluedroid): fixed OOB read in AT_SKIP_RESET 2025-12-19 11:17:18 +08:00
Jin Cheng 7d333a6324 fix(bt/bluedroid): fixed OOB write in bta_hf_client_handle_cind_list_item 2025-12-19 11:17:18 +08:00
Jin Cheng 1f891f31a5 fix(bt/bluedroid): added boundary check when reading SDP attribute response packet 2025-12-19 11:17:18 +08:00
Jin Cheng 3c02ac6b64 fix(bt/bluedroid): fixed potential OOB read in the avrc_pars_vendor_rsp 2025-12-19 11:17:18 +08:00
Jin Cheng a6ba548174 fix(bt/bluedroid): fixed potential OOB read in the reporting handler
Thanks to Luigino Camastra and Pavel Kohout from Aisle Research as
co-reporters for discovering and reporting this issue.
2025-12-19 11:17:18 +08:00
Jin Cheng ce1677a204 fix(bt/bluedroid): fixed a potential overflow about the media payload offset
This variable is uint16_t, and is possible to overflow when the length
of headder extension is larger. Here we compare with the data length to
prevent any exceptions.
2025-12-19 11:17:18 +08:00
Jin Cheng 208eb56736 fix(bt/bluedroid): fixed p_data null dereference in l2c_csm_open 2025-12-19 11:17:17 +08:00
Jin Cheng cd0391cc71 fix(bt/bluedroid): fixed Use-After-Free in btm_sec_[dis]connected 2025-12-19 11:17:17 +08:00
Jin Cheng dea17a9260 fix(bt/bluedroid): reject device with same address in legacy paring 2025-12-19 11:17:17 +08:00
Jin Cheng 5e5646cb3c fix(bt/bluedroid): ignore AVCT commands that are too long 2025-12-19 11:17:17 +08:00
Jin Cheng 63d5970c1d fix(bt/bluedroid): use osi_calloc to zero reserved fields in AVRCP 2025-12-19 11:17:17 +08:00
Jin Cheng 1b1e00ffb1 fix(bt/bluedroid): make sure SDP only start discovery once 2025-12-19 11:17:17 +08:00
Jin Cheng d16ad1789c fix(bt/bluedroid): check event ID if of register notification from remote to avoid OOB write 2025-12-19 11:17:17 +08:00
Jin Cheng 990dcc431a fix(bt/blurdoird): check Classic key before cross-key derivation 2025-12-19 11:17:17 +08:00
Jin Cheng f144d4e0f7 fix(bt/blurdoird): enable bitpool snity checks 2025-12-19 11:17:17 +08:00
Jin Cheng 45aeaf97c4 fix(bt/bluedroid): fixed possible access to NULL in l2c_fcr_clone_buf 2025-12-16 11:37:58 +08:00
Jin Cheng bec5090de5 fix(bt/controller): Fixed some controller bugs
- Fixed Bluetooth hardware error of 'CHMAP_ERROR'
- Fixed encryption collision bug
2025-11-13 19:45:38 +08:00
JinCheng 2f50cb2727 fix(bt/bluedroid): update the COD before enabling inquiry scan 2025-11-11 15:46:47 +08:00
Jin Cheng 5b3185168d fix(bt/blurdoird): fixed an OOB write in bta_dm_sdp_result 2025-11-10 17:05:48 +08:00
Jin Cheng 565fa98d0c fix(bt/bluedroid): fixed potential OOB in AVRCP vendor command composition 2025-10-14 11:55:47 +08:00
Jin Cheng 3fa9d23ad2 fix(bt/controller): fixed several controller bugs 2025-09-29 09:59:42 +08:00
Jin Cheng ac2be3a58e fix(bt/controller): fixed the sniff anchor point can be mismatch from central and peripheral 2025-09-28 11:33:25 +08:00
JinCheng 5a6193ae14 fix(bluedroid): removed the code relying on compiler-specific extension for FAM in union 2025-09-27 11:28:54 +08:00
JinCheng 075ed218ca fix(bt/bluedroid): fixed potential OOB in Bluedroid 2025-09-25 10:20:10 +08:00
JinCheng 88722d50d5 fix(bt/controller): fixed some controller bugs 2025-08-13 19:27:35 +08:00
JinCheng 81d7ce47db fix(bt/bluedroid): correct a description error in the GAP header file 2025-08-13 19:27:35 +08:00
JinCheng 54f1f22e69 fix(esp_phy): update esp32 librtc.a for coex problems
- ESP32 phy_version: 4861, b71b5ad, Aug, 5 2025
- ESP32 librtc version: 6758f983, Mar 22 2024, 13:39:26
2025-08-05 12:08:57 +08:00
JinCheng 720108b220 fix(bt/bluedroid): safe string returns and cleanups for bt_discovery example 2025-08-01 09:40:21 +08:00
Jin Cheng b1ea7f7ae6 fix(bt/controller): update libbtdm_app.a
- fixed errors in the coexistance of ACL and SCO
- fixed dynamic priority config error in dual mode
2025-04-18 07:43:24 +08:00
Jin Cheng cd8fa5c46f fix(bt/bluedroid): fixed memory leaks in SPP callback mode 2025-02-26 19:12:47 +08:00
Jin Cheng 309747bf9a fix(bt/controller): fixed some controller bugs on ESP32.
1. added a VSC to control whether to initiate lmp_auto_rate
        - Closes https://github.com/espressif/esp-idf/issues/15133
    2. fixed EA resource cleanup error after SNIFF negotiation failure
        - Closes https://github.com/espressif/esp-idf/issues/13605
    3. removed an assertion in SCO data TX handler after disconnection
        - Closes https://github.com/espressif/esp-idf/issues/15176
2025-02-26 16:31:06 +08:00
Jin Cheng eb68ef4cc1 fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers 2025-01-07 18:56:23 +08:00
Jin Cheng 185b4d9d44 fix(bt/bluedroid): fixed access NULL in HFP callback handler 2024-12-05 13:19:18 +08:00
Jin Cheng 5e0a73bc56 fix(bt/controller): Fixed some bugs on esp32 controller
- Added VSC to update local Bluetooth clock
    - Added critical protection for the free method for sync buffers
    - Fixed zero attempt value set by role switch
2024-11-26 18:03:11 +08:00
Jin Cheng fdcf89ae6b feat(bt/bluedroid): added events to indicate the profile states of HFP 2024-11-22 17:14:16 +08:00
Jin Cheng 2b334d1dfa fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response 2024-11-20 08:20:40 +08:00
Jin Cheng cfdefd3e03 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed wrong logic in handling sniff transaction collision at slave
      side
    - Fixed the issue ACL is stopped too early before eSCO
2024-11-08 12:53:56 +08:00
Jin Cheng c79eb0d5bf fix(bt/bluedroid): AG should send OK or other error codes to HF client
when it is driven by HF to initiate a call.
2024-11-08 12:51:00 +08:00
Jin Cheng e2241f1fc1 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed access NULL in SCO frame end
      Closes https://jira.espressif.com:8443/browse/IDFGH-10796
    - Added LAP checking for Periodic Inquiry
    - Removed an inproper assertion in SCO module
    - Fixed wrong logic in key exchange when
      LMP transaction collision occurred
    - Fixed the using of wrong error code in
      the transaction collision of role switch
2024-10-12 09:01:48 +08:00
Jin Cheng 9872a7bbd1 fix(bt/bluedroid): fixed AG and HF client cannot enter/exit sniff mode 2024-10-10 16:23:09 +08:00
Jin Cheng 6d85d86fe1 Revert "Disable sniff mode during (e)SCO connection."
This reverts commit 39a5eb84f3.
2024-10-10 16:10:11 +08:00
Jin Cheng 22fad3f0a8 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed access NULL in SCO frame end
      Closes https://jira.espressif.com:8443/browse/IDFGH-10796
    - Added LAP checking for Periodic Inquiry
    - Removed an inproper assertion in SCO module
    - Fixed wrong logic in key exchange when
      LMP transaction collision occurred
    - Fixed the using of wrong error code in
      the transaction collision of role switch
2024-09-23 15:33:11 +08:00
Jin Cheng 3964fb1fa8 fix(bt/controller): Removed an improper assertion in ACL link driver
- See more from jira BT-3591
2024-07-12 19:35:18 +08:00
Jin Cheng b79fcbb9d7 fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-04-30 17:38:58 +08:00
Jin Cheng 081dc80eb8 fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is wnabled 2024-04-15 11:20:55 +08:00
Jin Cheng 98230244df fix(bt/controller): Use embedded assembly to get access to DPORT registers 2024-04-01 18:53:47 +08:00
Jin Cheng 82542d2e96 feat(bt/bluedroid): added a VSC to set minimal encryption key size 2024-03-25 10:50:06 +08:00
Jin Cheng 45af060963 change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-20 10:38:44 +08:00
Jin Cheng cdb2f2c570 fix(bt/controller): Fixed 3 esp32 bt controller bugs
update esp32 bt-lib (952debf4)

1. Increased the length of queue for coexist requestions
2. fix(bt/controller): Cleared BT SNIFF when no connections exists
3. fix(bt/controller): Corrected a typo in coex module
2024-02-29 11:02:37 +08:00
Jin Cheng f4f26e94bd feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module 2024-02-28 20:30:38 +08:00
Jin Cheng 20f2207d5f Merge branch 'bugfix/mem_leak_op_dev_name' into 'master'
fix(bt/bluedroid): Avoided possible memory leak in the module of BT device

See merge request espressif/esp-idf!29141
2024-02-28 15:54:24 +08:00
Jin Cheng a288640655 fix(bt/bluedroid): Avoided possible memory leak in the module of BT device 2024-02-23 14:14:50 +08:00
Jin Cheng 057eb7061d feat(bt/bluedroid): Added an event to notify the encryption mode to applicaiton layer 2024-01-05 09:40:38 +08:00
Jin Cheng 8582f9bedf fix(bt/bluedroid): corrected the strings of A2DP audio states 2024-01-04 17:52:11 +08:00
Jin Cheng 6ee9b95960 feat(bt/bluedroid): Added report for the type of link key in ESP_BT_GAP_AUTH_CMPL_EVT 2023-12-29 16:22:04 +08:00
Jin Cheng 42f19d657a docs(bt/bluedroid): update API documents of SPP 2023-12-26 09:13:20 +08:00
Jin Cheng a3f68aef8a feat(bt/bluedroid): Added API to get local device name 2023-12-15 19:30:12 +08:00
Jin Cheng e1a5122dbc Merge branch 'fix/build_error_in_compiler_performance_mode' into 'master'
fix(bt/bluedroid): fixed build error when compiler in performace mode

Closes IDFGH-11637

See merge request espressif/esp-idf!27816
2023-12-12 18:56:42 +08:00
Jin Cheng e78209ad47 fix(bt/bluedroid): Disabled Sniff Subrating temporarily as it did not work well 2023-12-05 20:10:03 +08:00
Jin Cheng 58256d8c4b fix(bt/bluedroid): Changed the default air mode to invalid value 2023-12-05 20:10:03 +08:00
Jin Cheng dba328d9d5 fix(bt/bluedroid): Removed redundant operation of SCO clean up 2023-12-05 20:10:03 +08:00
Jin Cheng 0f9e8687ee fix(bt/bluedroid): Corrected the definitions of HF Client callback events 2023-12-05 20:10:00 +08:00
Jin Cheng 48d410e10d fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in l2cap 2023-11-30 19:47:57 +08:00
Jin Cheng 823e0711c9 fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free 2023-11-29 15:55:46 +08:00
Jin Cheng 57e3e97497 fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization
Move the release of the control blocks from the start
of deinitialization to the profile disabled event.
2023-11-17 09:39:46 +08:00
Jin Cheng eab9037b1c fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks 2023-11-16 20:10:29 +08:00
Jin Cheng f5c15be581 fix(bt/bluedroid): corrected the API documents of profile HFP and A2DP 2023-11-15 15:34:27 +08:00
Jin Cheng 4edd531fe3 fix(bt/bluedroid): Added some argument check in APIs of HFP AG 2023-11-15 15:18:22 +08:00
Jin Cheng 97e9eb5ca8 fix(bt/bluedroid): Fix the crash of invalid access to released resources
It is caused by the delayed timer is alarmed after esp_spp_deinit.
2023-11-15 02:12:14 +00:00
Jin Cheng 46327936cb feat(bt/bluedroid): Added an API to specify data types for ACL-U traffic 2023-11-02 17:43:04 +08:00
Jin Cheng 1f2a1564a2 feat(bt/bluedroid): Support to build HID Host and HID Device in single binary 2023-11-01 16:54:11 +08:00
Jin Cheng b319143e3b feat(bt/bluedroid): Added bt_discovery based host only example 2023-10-30 00:52:26 +00:00
Jin Cheng fc174f5811 feat(bt/bluedroid): Added mode to use BlueDroid host only without Bluetooth Controller 2023-10-30 00:52:26 +00:00
Jin Cheng d0e0928138 feat(bt/Bluedroid): Implemented esp_coex_status_set/clear using vendor HCI 2023-09-13 10:55:04 +08:00
Jin Cheng 3fb242660d fix(bt/controller): Fixed error in sniff negotiation
fix(bt/controller): Avoided both local and peer unsniff being triggered
fix(bt/controller): Fixed the crash of mixing of master- and slave-initiated sniff requests
fix(bt/controller): Moved the TX of HW_ERR_EVT out of interrupt context to thread context
fix(bt/controller): Fixed the issue rx_irq is generated after error_irq for slave sniff mode frame
fix(bt/controller): Fixed asser error resulted from failure of role switch frame insert
fix(bt/controller): Ignored rx_irq in inquiry scan frame end
fix(bt/controller): Ignored rx_irq in page scan frame end
fix(bt/controller): Added status check before set/clear sniff coex status
fix(bt/controller): Fixed IntegerDevideByZero caused by interrupted r_ld_sco_start
2023-09-12 12:20:50 +00:00