From 062c301a967c002705d9615f17bc7366210a34cb Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 19 Nov 2018 14:01:26 +0000 Subject: [PATCH] check min size for custom data --- features/FEATURE_BLE/ble/gap/AdvertisingDataBuilder.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/features/FEATURE_BLE/ble/gap/AdvertisingDataBuilder.h b/features/FEATURE_BLE/ble/gap/AdvertisingDataBuilder.h index dbd84f0fc4..9deffa990e 100644 --- a/features/FEATURE_BLE/ble/gap/AdvertisingDataBuilder.h +++ b/features/FEATURE_BLE/ble/gap/AdvertisingDataBuilder.h @@ -795,11 +795,17 @@ public: * * @retval BLE_ERROR_NONE on success. * @retval BLE_ERROR_BUFFER_OVERFLOW if buffer is too small to contain the new data. - * @retval BLE_ERROR_INVALID_PARAM if size of data is too big too fit in an individual data field. + * @retval BLE_ERROR_INVALID_PARAM if size of data is too big too fit in an individual + * data field or the data is too small (must contain + * 2 bytes of manufacturer ID) */ ble_error_t setManufacturerSpecificData( mbed::Span data ) { + if (data.size() < 2) { + return BLE_ERROR_INVALID_PARAM; + } + return addOrReplaceData(adv_data_type_t::MANUFACTURER_SPECIFIC_DATA, data); }