test
Fork of nRF51822 by
Diff: source/nRF5xGap.cpp
- Revision:
- 603:b1616eaf8206
- Parent:
- 601:5f4199aae50f
- Child:
- 604:0f5c8725146c
--- a/source/nRF5xGap.cpp Mon Jan 11 10:19:37 2016 +0000 +++ b/source/nRF5xGap.cpp Mon Jan 11 10:19:37 2016 +0000 @@ -659,12 +659,16 @@ return BLE_ERROR_PARAM_OUT_OF_RANGE; } - whitelistAddressesSize = 0; + /* Test for invalid parameters before we change the internal state */ for (uint8_t i = 0; i < whitelistIn.size; ++i) { if (whitelistIn.addresses[i].type == BLEProtocol::AddressType_t::RANDOM_PRIVATE_NON_RESOLVABLE) { /* This is not allowed because it is completely meaningless */ return BLE_ERROR_INVALID_PARAM; } + } + + whitelistAddressesSize = 0; + for (uint8_t i = 0; i < whitelistIn.size; ++i) { memcpy(&whitelistAddresses[whitelistAddressesSize], &whitelistIn.addresses[i], sizeof(BLEProtocol::Address_t)); whitelistAddressesSize++; }