From 2b445aac84d6c9add8884b1e14ea8658f712b9b4 Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Wed, 29 Jul 2026 23:51:22 +0200 Subject: [PATCH] Validate CAN frame DLC before processing --- Core/Src/canlog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Core/Src/canlog.c b/Core/Src/canlog.c index 76b555e..addba34 100644 --- a/Core/Src/canlog.c +++ b/Core/Src/canlog.c @@ -76,8 +76,11 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) // TODO: manage the case of FIFO overflow if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &rxHeader, data) != HAL_OK) return; + if (rxHeader.DLC > 8) return; + if (rxHeader.IDE == CAN_ID_EXT) message.id = rxHeader.ExtId; else message.id = rxHeader.StdId; + message.dlc = rxHeader.DLC; message.isExtended = (rxHeader.IDE == CAN_ID_EXT); message.source = (hcan->Instance == CAN1) ? 1 : 2;