Nordic stack and drivers for the mbed BLE API

Dependents:   BLE_ANCS_SDAPI BLE_temperature BLE_HeartRate writable_gatt ... more

Files at this revision

API Documentation at this revision

Comitter:
vcoubard
Date:
Mon Jan 11 10:19:37 2016 +0000
Parent:
602:e7ba21c2c943
Child:
604:0f5c8725146c
Commit message:
Synchronized with git rev 12e6c9ec
Author: Andres Amaya Garcia
Make setWhitelist check errors before changing state

Changed in this revision

source/nRF5xGap.cpp Show annotated file Show diff for this revision Revisions of this file
--- 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++;
     }