diff --git a/subsys/dap/cmsis_dap.c b/subsys/dap/cmsis_dap.c index 918721b1faac4b1..69488acd0fc7345 100644 --- a/subsys/dap/cmsis_dap.c +++ b/subsys/dap/cmsis_dap.c @@ -17,6 +17,7 @@ #include #include #include +#include #include @@ -46,6 +47,25 @@ struct dap_context { static struct dap_context dap_ctx[1]; +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_PROBE_VENDOR) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "PROBE_VENDOR string is too long."); +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_PROBE_NAME) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "PROBE_NAME string is too long."); +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_BOARD_VENDOR) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "BOARD_VENDOR string is too long."); +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_BOARD_NAME) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "BOARD_NAME string is too long."); +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_DEVICE_VENDOR) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "DEVICE_VENDOR string is too long."); +BUILD_ASSERT(sizeof(CONFIG_CMSIS_DAP_DEVICE_NAME) <= + MIN(CONFIG_CMSIS_DAP_PACKET_SIZE - 2, UINT8_MAX -2), + "DEVICE_NAME string is too long."); + /* Get DAP Information */ static uint16_t dap_info(struct dap_context *const ctx, const uint8_t *const request,