fix(bt_pbap): Fix some bugs in bluedroid PBAP

- Add sdp_seq to avoid p_ccb being free during sdp
- Changed some BTA_Pba functions to return non-void value
- Improve error catching and report
- Refactor bta_pba_client_response to avoid UAF problem
- Rearrange btc_pba_client init flag to avoid some disturbing bug
This commit is contained in:
hejiaxin
2026-08-12 16:00:11 +08:00
parent fee5db7d25
commit abfd193662
9 changed files with 358 additions and 175 deletions
@@ -208,6 +208,9 @@ esp_err_t esp_pbac_pull_vcard_listing(esp_pbac_conn_hdl_t handle, const char *na
args.pull_vcard_listing.handle = handle;
args.pull_vcard_listing.name = (char *)name;
if (app_param != NULL) {
if (app_param->include_search_value && app_param->search_value == NULL) {
return ESP_ERR_INVALID_ARG;
}
args.pull_vcard_listing.include_app_param = true;
memcpy(&args.pull_vcard_listing.app_param, app_param, sizeof(esp_pbac_pull_vcard_listing_app_param_t));
}