From 2af5508c4cb2cf9ab2d56f9e51d8edb1d06ce0be Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Tue, 15 May 2018 09:15:53 +0100 Subject: [PATCH] Nordic BLE: Do not conditionnaly assign sm key pointers. This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation. --- .../source/nRF5xPalSecurityManager.cpp | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5x/source/nRF5xPalSecurityManager.cpp b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5x/source/nRF5xPalSecurityManager.cpp index b08c707012..9b608c768e 100644 --- a/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5x/source/nRF5xPalSecurityManager.cpp +++ b/features/FEATURE_BLE/targets/TARGET_NORDIC/TARGET_NRF5x/source/nRF5xPalSecurityManager.cpp @@ -1136,28 +1136,17 @@ ble_gap_sec_keyset_t nRF5xSecurityManager::make_keyset( pairing_cb.initiator_dist = initiator_dist; pairing_cb.responder_dist = responder_dist; - KeyDistribution* own_dist = NULL; - KeyDistribution* peer_dist = NULL; - - if (pairing_cb.role == PAIRING_INITIATOR) { - own_dist = &initiator_dist; - peer_dist = &responder_dist; - } else { - own_dist = &responder_dist; - peer_dist = &initiator_dist; - } - ble_gap_sec_keyset_t keyset = { /* keys_own */ { - own_dist->get_encryption() ? &pairing_cb.own_enc_key : NULL, - own_dist->get_identity() ? &pairing_cb.own_id_key : NULL, - own_dist->get_signing() ? &pairing_cb.own_sign_key : NULL, + &pairing_cb.own_enc_key, + &pairing_cb.own_id_key, + &pairing_cb.own_sign_key, &pairing_cb.own_pk }, /* keys_peer */ { - peer_dist->get_encryption() ? &pairing_cb.peer_enc_key : NULL, - peer_dist->get_identity() ? &pairing_cb.peer_id_key : NULL, - peer_dist->get_signing() ? &pairing_cb.peer_sign_key : NULL, + &pairing_cb.peer_enc_key, + &pairing_cb.peer_id_key, + &pairing_cb.peer_sign_key, &pairing_cb.peer_pk } };