diff --git a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xPalSecurityManager.cpp b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xPalSecurityManager.cpp index a1d6b1e7e9..61c26d3688 100644 --- a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xPalSecurityManager.cpp +++ b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NORDIC_SOFTDEVICE/TARGET_NRF52/source/nRF5xPalSecurityManager.cpp @@ -15,6 +15,7 @@ */ #include +#include "platform/mbed_assert.h" #include "nRF5xPalSecurityManager.h" #include "nRF5xn.h" #include "ble/Gap.h" @@ -734,7 +735,9 @@ ble_error_t nRF5xSecurityManager::generate_secure_connections_oob() ble_gap_lesc_p256_pk_t own_secret; ble_gap_lesc_oob_data_t oob_data; - memcpy(own_secret.pk, secret.data(), secret.size()); + MBED_ASSERT(sizeof(own_secret.pk) >= X.size() + Y.size()); + memcpy(own_secret.pk, X.data(), X.size()); + memcpy(own_secret.pk + X.size(), Y.data(), Y.size()); uint32_t err = sd_ble_gap_lesc_oob_data_get( BLE_CONN_HANDLE_INVALID,