mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-11-02 18:42:47 +00:00
Bugfix: Fix incomplete clearing of peer_dev_rec
This commit is contained in:
committed by
Abhinav Kudnar
parent
8301804a7d
commit
9b6c19b398
@@ -111,17 +111,16 @@ static void
|
|||||||
ble_rpa_peer_dev_rec_clear_all(void)
|
ble_rpa_peer_dev_rec_clear_all(void)
|
||||||
{
|
{
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
int num_peer_dev_rec = ble_store_num_peer_dev_rec;
|
||||||
|
|
||||||
/* As NVS record need to be deleted one by one, we loop through
|
/* As NVS record need to be deleted one by one, we loop through
|
||||||
* peer_records */
|
* peer_records */
|
||||||
for (i = 0; i < ble_store_num_peer_dev_rec; i++) {
|
for (i = 0; i < num_peer_dev_rec; i++) {
|
||||||
ble_store_num_peer_dev_rec--;
|
ble_store_num_peer_dev_rec--;
|
||||||
|
memmove(&peer_dev_rec[0], &peer_dev_rec[1],
|
||||||
if ((i != ble_store_num_peer_dev_rec) && (ble_store_num_peer_dev_rec != 0)) {
|
ble_store_num_peer_dev_rec * sizeof(struct ble_hs_dev_records));
|
||||||
memmove(&peer_dev_rec[i], &peer_dev_rec[i + 1],
|
memset(&peer_dev_rec[ble_store_num_peer_dev_rec], 0,
|
||||||
(ble_store_num_peer_dev_rec - i + 1) * sizeof(struct ble_hs_dev_records ));
|
sizeof(struct ble_hs_dev_records));
|
||||||
}
|
|
||||||
|
|
||||||
ble_store_persist_peer_records();
|
ble_store_persist_peer_records();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -230,15 +229,6 @@ ble_rpa_resolv_add_peer_rec(uint8_t *peer_addr)
|
|||||||
{
|
{
|
||||||
struct ble_hs_dev_records *p_dev_rec =
|
struct ble_hs_dev_records *p_dev_rec =
|
||||||
&peer_dev_rec[ble_store_num_peer_dev_rec];
|
&peer_dev_rec[ble_store_num_peer_dev_rec];
|
||||||
uint8_t idx = 0;
|
|
||||||
|
|
||||||
while (p_dev_rec->rec_used) {
|
|
||||||
p_dev_rec++;
|
|
||||||
idx++;
|
|
||||||
if (idx > MYNEWT_VAL(BLE_STORE_MAX_BONDS)) {
|
|
||||||
return BLE_HS_ESTORE_CAP;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
p_dev_rec->rec_used = 1;
|
p_dev_rec->rec_used = 1;
|
||||||
memcpy(p_dev_rec->pseudo_addr, peer_addr, BLE_DEV_ADDR_LEN);
|
memcpy(p_dev_rec->pseudo_addr, peer_addr, BLE_DEV_ADDR_LEN);
|
||||||
|
|||||||
Reference in New Issue
Block a user