Commit Graph

716 Commits

Author SHA1 Message Date
Jiang Jiang Jian
139d968de0 Merge branch 'bugfix/sco_pkt_type_err' into 'master'
fix(bt/bluedroid): fixed incorrect eSCO packet type validation in secure connection mode

Closes BTQABR2023-849

See merge request espressif/esp-idf!51251
2026-07-29 14:41:23 +08:00
Wang Meng Yang
82b28b2641 Merge branch 'fix/aireview_critical' into 'master'
fix: Fix some critical bugs in classic bt

See merge request espressif/esp-idf!50312
2026-07-29 11:41:36 +08:00
Jin Cheng
c274987a7a fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-28 15:21:29 +08:00
Wang Meng Yang
0185451ed1 Merge branch 'fix/bluedroid_aireview' into 'master'
Fix/bluedroid aireview

See merge request espressif/esp-idf!49972
2026-07-24 16:58:20 +08:00
hejiaxin
54cd579d3b fix(bt_stack): Fix some critical bugs in classic_bt stack
related: obex, smp, pbap, sdp, rfcomm, stack_dm

- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch
2026-07-23 15:46:38 +08:00
hejiaxin
1553b0ce67 fix(bt): Fix some bug in stm_sco.c
- Memory safety
- State machine & logic integrity
- Resource leaks
- Edge cases check
2026-07-23 10:56:32 +08:00
liqigan
540a4216df change(bt/bluedroid): Refactored HCI ACL datapath 2026-07-22 14:41:20 +08:00
Wang Meng Yang
bc428c91d5 Merge branch 'bugfix/bredr_critical_bugs' into 'master'
bugfix: fix issues raised from AI review

See merge request espressif/esp-idf!49755
2026-07-22 14:31:28 +08:00
Island
30c632bebb Merge branch 'bugfix/fix_bluedroid_set_rand_addr_during_scan' into 'master'
fix(ble/bluedroid): report set rand addr result on HCI complete

Closes BLERP-2965

See merge request espressif/esp-idf!50663
2026-07-21 10:39:27 +08:00
Jin Cheng
970923ba7d fix(bt/bluedroid): fixed issues from AI review in GAP, SPP, HID, L2CAP and HCI 2026-07-17 17:15:56 +08:00
Wang Meng Yang
4b82a06d73 Merge branch 'bugfix/fix_bredr_inq_crash' into 'master'
fix(bt/bluedroid): fix crash during bredr inquiry when zero-addr device is found

Closes WIFI-7491

See merge request espressif/esp-idf!50672
2026-07-17 10:34:54 +08:00
Alexey Lapshin
37bdc6a827 Merge branch 'fix/bt__unused-but-set-variable_warnings' into 'master'
fix(bt): fix unused-but-set-variable warnings

See merge request espressif/esp-idf!50657
2026-07-15 13:01:45 +04:00
Island
36d4af40ad Merge branch 'bugfix/fix_bluedroid_read_multi' into 'master'
fix(ble/bluedroid): fix GATT Read Multiple response handling

Closes BLERP-2900

See merge request espressif/esp-idf!49690
2026-07-14 10:28:41 +08:00
Island
fb195f7b50 Merge branch 'bugfix/fix_bluedroid_ext_adv_param_fail_state' into 'master'
fix(ble/bluedroid): preserve ext adv state when set params fails

Closes BLERP-2962 and IDFGH-17144

See merge request espressif/esp-idf!50470
2026-07-14 10:28:30 +08:00
linruihao
8cbb5276c2 fix(bt/bluedroid): fix crash during bredr inquiry when zero-addr device is found 2026-07-13 16:25:18 +08:00
zhanghaipeng
23519567e4 fix(ble/bluedroid): track ext scan state for rand addr check
Update inq_var.state only after btsnd_hcic_ble_ext_scan_enable succeeds.
Clear BTM_BLE_SCANNING on explicit stop and controller scan timeout.
2026-07-13 15:58:32 +08:00
Alexey Lapshin
46ddc0f4b2 fix(bt): fix unused-but-set-variable warnings 2026-07-13 12:01:15 +07:00
Zhi Wei Jian
2e6cbccd55 Merge branch 'feat/support_bluedroid_dual_identify' into 'master'
feat(ble/bluedroid): Support bluedroid dual indentify

See merge request espressif/esp-idf!49640
2026-07-13 10:03:39 +08:00
zhiweijian
2358786647 feat(ble/bluedroid): Support bluedroid dual identity 2026-07-10 17:57:09 +08:00
zhiweijian
abbf001120 fix(ble/bluedroid): use BOOLEAN for BLE HCI command builders 2026-07-10 10:57:19 +08:00
zhiweijian
4fd1ebb4a9 fix(ble/bluedroid): clean up LE CoC connect on CCB alloc failure 2026-07-10 10:57:10 +08:00
zhiweijian
34b59d30ae docs(ble/bluedroid): note ISO BIG HCI alloc failure not checked 2026-07-10 10:56:59 +08:00
zhiweijian
82e71c1767 fix(ble/bluedroid): fix direct-connect cleanup and adv bounds 2026-07-10 10:56:47 +08:00
zhiweijian
93ab11d564 fix(ble/bluedroid): validate BLE confirm/OOB and sec-check device 2026-07-10 10:56:38 +08:00
zhiweijian
98efe02385 fix(ble/bluedroid): validate SMP pair-fail reason and OOB device 2026-07-10 10:56:25 +08:00
zhiweijian
6c3267ee84 fix(ble/bluedroid): route ATT indication-conf timeout separately 2026-07-10 10:55:59 +08:00
zhiweijian
bb00b9817d fix(ble/bluedroid): validate ATT PDU sizes 2026-07-10 10:55:39 +08:00
zhiweijian
37562af0ea fix(ble/bluedroid): re-lookup GATT TCB after enc-complete callback 2026-07-10 10:55:29 +08:00
zhiweijian
4ce692ac0c fix(ble/bluedroid): fix GATT long read and Service Changed CCC 2026-07-10 10:54:53 +08:00
zhiweijian
ac35ae6f2d fix(ble/bluedroid): validate GATT client discovery handles 2026-07-10 10:54:38 +08:00
zhiweijian
27ff0cf8c7 fix(ble/bluedroid): cap Read By Type length and free failed service decl 2026-07-10 10:54:30 +08:00
zhiweijian
995c1508e8 fix(ble/bluedroid): guard GATT database hash and serialization 2026-07-10 10:54:21 +08:00
zhiweijian
f86739b03d fix(ble/bluedroid): fix GATT server busy errors and sr_cmd handling 2026-07-10 10:54:07 +08:00
zhiweijian
0645ba469d fix(ble/bluedroid): fix GATT teardown and service-change flow 2026-07-10 10:53:21 +08:00
zhiweijian
ac93d94958 fix(ble/bluedroid): fix GATT service lifecycle leaks 2026-07-10 10:53:01 +08:00
zhiweijian
b83327f3ca fix(ble/bluedroid): add GATT resource-cleanup helpers 2026-07-10 10:52:43 +08:00
Wang Meng Yang
607f6d09ed Merge branch 'feat/support_bluedroid_le_coc_and_eatt' into 'master'
feat(ble/bluedroid): Support bluedroid LE COC and EATT features

See merge request espressif/esp-idf!50171
2026-07-10 10:14:44 +08:00
yangfeng
156ea55ed1 fix(bt): Fix the validation of AVRCP metadata attr_id in handle_rc_attributes_rsp 2026-07-09 14:52:09 +08:00
zhiweijian
83f0831c53 feat(ble/bluedroid): Support bluedroid LE COC and EATT features 2026-07-09 14:03:01 +08:00
Wang Meng Yang
0a3ccbc151 Merge branch 'bugfix/smp_sec_flags' into 'master'
fix(bt/bluedroid): fixed several security issues from NVIDIA

Closes SEC-084, SEC-713, SEC-1143, SEC-1153, SEC-1164, and SEC-1169

See merge request espressif/esp-idf!50200
2026-07-08 12:41:25 +08:00
zhanghaipeng
72a49ed53b fix(ble/bluedroid): downgrade numeric comparison log to warning 2026-07-08 11:03:36 +08:00
zhanghaipeng
31bd80fee8 fix(ble/bluedroid): preserve ext adv state when set params fails
Only update extend_adv_cb after HCI Set Extended Advertising
Parameters succeeds, so a failed update does not corrupt cached
legacy_pdu and related fields used by adv data validation.
2026-07-08 10:53:56 +08:00
yangfeng
04282840e7 fix(bt/bluedroid): Fix unchecked p_ctrl_cback and p_msg_cback in AVRC
Closes SEC-1186
2026-07-03 17:04:19 +08:00
yangfeng
d293336dd5 fix(bt/bluedroid): Fix missing NULL check on p_cfg in AVDT_ReconfigReq
Closes SEC-1187
2026-07-03 17:04:19 +08:00
Jin Cheng
e1c3b2b5e4 fix(bt/bluedroid): fixed stuck sec_state on authention HCI command send failure
Closes SEC-1164
2026-07-02 20:22:37 +08:00
Jin Cheng
4ccff38c54 fix(bt/bluedroid): fixed NULL dereference in remote legacy authentication handler
Closes SEC-1143
2026-07-02 20:22:37 +08:00
Jin Cheng
4bf16541ad fix(bt/bluedroid): fixed wrong link key flag cleared on legacy BR/EDR authentication failure
Stale bond trust state cound remain after authenticaion failure, causing
incorrect bond status and link key auto-reply behavior.

Closes SEC-1153
2026-07-02 20:21:43 +08:00
zhanghaipeng
1b6f9380f4 fix(ble/bluedroid): reject invalid ATT error code 0x00 on client
Map received error reason 0x00 to GATT_UNKNOWN_ERROR so the client
does not report GATT_SUCCESS with zero-length data on malformed errors.
2026-07-02 16:04:43 +08:00
zhanghaipeng
4c0488d92a fix(ble/bluedroid): use sr_cmd status for GATT server error rsp
When sending an ATT error response after a failed server operation,
use p_tcb->sr_cmd.status instead of the last app callback status so
invalid error code 0x00 is not sent to the peer.
2026-07-02 16:04:43 +08:00
zhanghaipeng
979c7dc567 fix(ble/bluedroid): match read-multiple-var responses by handle 2026-07-02 16:02:19 +08:00