diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-19 07:27:32 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-19 07:27:32 +0000 |
commit | 4b318647307715488ecdfcc5ae4f224ddb2497a7 (patch) | |
tree | 0fa4503cfc9c84199b5a3ea21b1f1ecf048a4b12 | |
parent | 8e00933f0606ea1e7fe0d93121c46aab81e63cb6 (diff) | |
parent | 985644c8ca2bc3d99fb37a46df2c7f615c58ae88 (diff) | |
download | android_system_bt-4b318647307715488ecdfcc5ae4f224ddb2497a7.tar.gz android_system_bt-4b318647307715488ecdfcc5ae4f224ddb2497a7.tar.bz2 android_system_bt-4b318647307715488ecdfcc5ae4f224ddb2497a7.zip |
release-request-5b56a53d-a8e3-4705-b74f-5b671f2123c3-for-git_oc-dr1-release-4193779 snap-temp-L25500000083614009
Change-Id: If17bf9ad9845f409746191d1867140f479041b47
-rw-r--r-- | bta/dm/bta_dm_act.cc | 8 | ||||
-rw-r--r-- | stack/bnep/bnep_main.cc | 1 | ||||
-rw-r--r-- | stack/bnep/bnep_utils.cc | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/bta/dm/bta_dm_act.cc b/bta/dm/bta_dm_act.cc index 6faae8e3a..a215c49fa 100644 --- a/bta/dm/bta_dm_act.cc +++ b/bta/dm/bta_dm_act.cc @@ -38,6 +38,7 @@ #include "bta_dm_co.h" #include "bta_dm_int.h" #include "bta_sys.h" +#include "btcore/include/bdaddr.h" #include "btm_api.h" #include "btm_int.h" #include "btu.h" @@ -2612,9 +2613,14 @@ static uint8_t bta_dm_authentication_complete_cback( bta_dm_cb.p_sec_cback(BTA_DM_AUTH_CMPL_EVT, &sec_event); if (result != HCI_ERR_LMP_RESPONSE_TIMEOUT && - result != HCI_ERR_PAGE_TIMEOUT && + result != HCI_ERR_PAGE_TIMEOUT && result != HCI_ERR_CONNECTION_TOUT && result != HCI_ERR_CONN_FAILED_ESTABLISHMENT && result != HCI_ERR_KEY_MISSING) { + bdstr_t bd_addr_str; + APPL_TRACE_WARNING("%s deleting %s - result: 0x%02x", __func__, + bdaddr_to_string((bt_bdaddr_t*)bd_addr, bd_addr_str, + sizeof(bd_addr_str)), + result); bta_dm_remove_sec_dev_entry(bd_addr); } } diff --git a/stack/bnep/bnep_main.cc b/stack/bnep/bnep_main.cc index ae3480dd2..b0fad6a65 100644 --- a/stack/bnep/bnep_main.cc +++ b/stack/bnep/bnep_main.cc @@ -525,6 +525,7 @@ static void bnep_data_ind(uint16_t l2cap_cid, BT_HDR* p_buf) { if (ctrl_type == BNEP_SETUP_CONNECTION_REQUEST_MSG && p_bcb->con_state != BNEP_STATE_CONNECTED && extension_present && p && rem_len) { + osi_free(p_bcb->p_pending_data); p_bcb->p_pending_data = (BT_HDR*)osi_malloc(rem_len + sizeof(BT_HDR)); memcpy((uint8_t*)(p_bcb->p_pending_data + 1), p, rem_len); p_bcb->p_pending_data->len = rem_len; diff --git a/stack/bnep/bnep_utils.cc b/stack/bnep/bnep_utils.cc index 3f5e13eba..872f4f565 100644 --- a/stack/bnep/bnep_utils.cc +++ b/stack/bnep/bnep_utils.cc @@ -144,7 +144,7 @@ void bnepu_release_bcb(tBNEP_CONN* p_bcb) { /* Drop any response pointer we may be holding */ p_bcb->con_state = BNEP_STATE_IDLE; - p_bcb->p_pending_data = NULL; + osi_free_and_reset((void**)&p_bcb->p_pending_data); /* Free transmit queue */ while (!fixed_queue_is_empty(p_bcb->xmit_q)) { @@ -832,7 +832,7 @@ uint8_t* bnep_process_control_packet(tBNEP_CONN* p_bcb, uint8_t* p, BNEP_TRACE_ERROR("%s: BNEP - bad ctl pkt type: %d", __func__, control_type); bnep_send_command_not_understood(p_bcb, control_type); - if (is_ext) { + if (is_ext && (ext_len > 0)) { if (*rem_len < (ext_len - 1)) { goto bad_packet_length; } |