From cfcb22fe16e9b480117b8e9443d974ea8ebfe5a8 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Jian Date: Fri, 30 Mar 2018 19:26:31 +0800 Subject: [PATCH] Merge branch 'bugfix/btdm_fix_get_PID_key_error' into 'master' Component/bt: fix get PID key error See merge request idf/esp-idf!2156 (cherry picked from commit f46ad1fec86f667da6dc103f09dd4f17d12a784d) 109a93bf Component/bt: fix get PID key error --- components/bt/bluedroid/btc/core/btc_ble_storage.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/bt/bluedroid/btc/core/btc_ble_storage.c b/components/bt/bluedroid/btc/core/btc_ble_storage.c index 75e33d7e6..3c2606428 100644 --- a/components/bt/bluedroid/btc/core/btc_ble_storage.c +++ b/components/bt/bluedroid/btc/core/btc_ble_storage.c @@ -784,7 +784,10 @@ bt_status_t btc_storage_get_bonded_ble_devices_list(esp_ble_bond_dev_t *bond_dev //resolve the peer device irk if (_btc_storage_get_ble_bonding_key(&bd_addr, BTM_LE_KEY_PID, buffer, sizeof(tBTM_LE_PID_KEYS)) == BT_STATUS_SUCCESS) { bond_dev->bond_key.key_mask |= ESP_BLE_ID_KEY_MASK; - memcpy(&bond_dev->bond_key.pid_key, buffer, sizeof(tBTM_LE_PID_KEYS)); + tBTM_LE_PID_KEYS *pid_key = (tBTM_LE_PID_KEYS *) buffer; + memcpy(&bond_dev->bond_key.pid_key.irk, pid_key->irk, BT_OCTET16_LEN); + bond_dev->bond_key.pid_key.addr_type = pid_key->addr_type; + memcpy(&bond_dev->bond_key.pid_key.static_addr, pid_key->static_addr, sizeof(BD_ADDR)); } //serch for the next bond device bond_dev++;