diff --git a/targets/f7/ble_glue/gap.c b/targets/f7/ble_glue/gap.c index 2f4e661b9..fd8d09f51 100644 --- a/targets/f7/ble_glue/gap.c +++ b/targets/f7/ble_glue/gap.c @@ -24,7 +24,7 @@ typedef struct { uint8_t adv_svc_uuid_len; uint8_t adv_svc_uuid[20]; uint8_t mfg_data_len; - uint8_t mfg_data[20]; + uint8_t mfg_data[23]; char* adv_name; } GapSvc; @@ -328,7 +328,7 @@ static void set_advertisment_service_uid(uint8_t* uid, uint8_t uid_len) { } static void set_manufacturer_data(uint8_t* mfg_data, uint8_t mfg_data_len) { - furi_check(mfg_data_len < sizeof(gap->service.mfg_data) - 2); + furi_check(mfg_data_len <= sizeof(gap->service.mfg_data) - 2); gap->service.mfg_data[0] = mfg_data_len + 1; gap->service.mfg_data[1] = AD_TYPE_MANUFACTURER_SPECIFIC_DATA; memcpy(&gap->service.mfg_data[gap->service.mfg_data_len], mfg_data, mfg_data_len); diff --git a/targets/f7/ble_glue/gap.h b/targets/f7/ble_glue/gap.h index 2f0b097e4..0bc3397e3 100644 --- a/targets/f7/ble_glue/gap.h +++ b/targets/f7/ble_glue/gap.h @@ -74,7 +74,7 @@ typedef struct { uint16_t Service_UUID_16; uint8_t Service_UUID_128[16]; } adv_service; - uint8_t mfg_data[20]; + uint8_t mfg_data[23]; uint8_t mfg_data_len; uint16_t appearance_char; bool bonding_mode;