Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of nRF51822 by
Revision 450:e718f00626f2, committed 2015-11-02
- Comitter:
- rgrover1
- Date:
- Mon Nov 02 09:05:09 2015 +0000
- Parent:
- 449:fd09f590751b
- Child:
- 451:87e7f14a3fa1
- Commit message:
- Synchronized with git rev 031ae200
Author: Rohit Grover
Merge branch 'patch-1' of https://github.com/Timmmm/ble-nrf51822 into Timmmm-patch-1
Changed in this revision
| LICENSE | Show annotated file Show diff for this revision Revisions of this file |
| source/nRF5xGattServer.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/LICENSE Mon Nov 02 09:05:09 2015 +0000 +++ b/LICENSE Mon Nov 02 09:05:09 2015 +0000 @@ -1,6 +1,6 @@ Many of the files in this module have been inherited from the Nordic SDK for -nRF51822; they come with a BSD-like license offered by Nordic for use with mbed. -Others come from the mbed SDK, and are licensed under Apache-2.0. +nRF51822; they come with a BSD-like license offered by Nordic for use in mbed. +Some other files come from the mbed SDK, and are licensed under Apache-2.0. Unless specifically indicated otherwise in a file, files are licensed under the Apache 2.0 license, as can be found in: apache-2.0.txt. The BSD-like Nordic license can be found in BSD-3clause-Nordic.txt \ No newline at end of file
--- a/source/nRF5xGattServer.cpp Mon Nov 02 09:05:09 2015 +0000
+++ b/source/nRF5xGattServer.cpp Mon Nov 02 09:05:09 2015 +0000
@@ -45,7 +45,6 @@
/**************************************************************************/
ble_error_t nRF5xGattServer::addService(GattService &service)
{
- /* ToDo: Make sure we don't overflow the array, etc. */
/* ToDo: Make sure this service UUID doesn't already exist (?) */
/* ToDo: Basic validation */
@@ -63,7 +62,10 @@
/* Add characteristics to the service */
for (uint8_t i = 0; i < service.getCharacteristicCount(); i++) {
- GattCharacteristic *p_char = service.getCharacteristic(i);
+ if (characteristicCount >= BLE_TOTAL_CHARACTERISTICS) {
+ return BLE_ERROR_NO_MEM;
+ }
+ GattCharacteristic *p_char = service.getCharacteristic(i);
/* Skip any incompletely defined, read-only characteristics. */
if ((p_char->getValueAttribute().getValuePtr() == NULL) &&
@@ -108,9 +110,12 @@
characteristicCount++;
/* Add optional descriptors if any */
- /* ToDo: Make sure we don't overflow the array */
for (uint8_t j = 0; j < p_char->getDescriptorCount(); j++) {
- GattAttribute *p_desc = p_char->getDescriptor(j);
+ if (descriptorCount >= BLE_TOTAL_DESCRIPTORS) {
+ return BLE_ERROR_NO_MEM;
+ }
+
+ GattAttribute *p_desc = p_char->getDescriptor(j);
/* skip the user-description-descriptor here; this has already been handled when adding the characteristic (above). */
if (p_desc->getUUID() == BLE_UUID_DESCRIPTOR_CHAR_USER_DESC) {
continue;
