From f283b9156efef22fca31108e185946a0fd617006 Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Wed, 21 Aug 2019 14:53:35 +0200 Subject: [PATCH] nimble/phy: Fix removing IRK from resolv list We need to move proper number of bytes for complete IRKs. --- nimble/drivers/nrf51/src/ble_hw.c | 2 +- nimble/drivers/nrf52/src/ble_hw.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nimble/drivers/nrf51/src/ble_hw.c b/nimble/drivers/nrf51/src/ble_hw.c index c371af813..0bf834cd1 100644 --- a/nimble/drivers/nrf51/src/ble_hw.c +++ b/nimble/drivers/nrf51/src/ble_hw.c @@ -448,7 +448,7 @@ ble_hw_resolv_list_rmv(int index) --g_nrf_num_irks; irk_entry = &g_nrf_irk_list[index]; if (g_nrf_num_irks > index) { - memmove(irk_entry, irk_entry + 4, g_nrf_num_irks - index); + memmove(irk_entry, irk_entry + 4, 16 * (g_nrf_num_irks - index)); } } } diff --git a/nimble/drivers/nrf52/src/ble_hw.c b/nimble/drivers/nrf52/src/ble_hw.c index f084ff15e..68104e444 100644 --- a/nimble/drivers/nrf52/src/ble_hw.c +++ b/nimble/drivers/nrf52/src/ble_hw.c @@ -448,7 +448,7 @@ ble_hw_resolv_list_rmv(int index) --g_nrf_num_irks; irk_entry = &g_nrf_irk_list[index]; if (g_nrf_num_irks > index) { - memmove(irk_entry, irk_entry + 4, g_nrf_num_irks - index); + memmove(irk_entry, irk_entry + 4, 16 * (g_nrf_num_irks - index)); } } }