diff --git a/firmware/fsm.c b/firmware/fsm.c index 837dc5f..fa9a5d9 100644 --- a/firmware/fsm.c +++ b/firmware/fsm.c @@ -51,7 +51,9 @@ static uint8_t msg_resp[MSG_OUT_SIZE]; -#define RESP_INIT(TYPE) TYPE *resp = (TYPE *)msg_resp; memset(resp, 0, sizeof(TYPE)); +#define RESP_INIT(TYPE) TYPE *resp = (TYPE *)msg_resp; \ + _Static_assert(sizeof(msg_resp) >= sizeof(TYPE), #TYPE " is too large"); \ + memset(resp, 0, sizeof(TYPE)); void fsm_sendSuccess(const char *text) {