DashyFox a8d32bbcef fix(rx): guard sub-minimum packSize before crcCheck (B1 OOB read)
packSize==1 давало crcCheck(1-crcBytes) → uint8 len=255 → crc8 читает dataBuffer[0..256] при массиве 38 (OOB-чтение ~217 байт). Триггер — лок преамбулы + первый байт с младшими 5 битами=1 (~1/32 ложных локов). Двойная защита: (1) ранний reject packSize 1..2 (< msg+crc) как битого; (2) конец кадра требует packSize>crcBytes, поэтому crcCheck(packSize-crcBytes) не уходит в underflow. Валидные кадры (packSize>=5) и будущие компактные (>=3) не затронуты.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 12:13:27 +03:00
2026-04-13 14:44:18 +03:00
2026-04-15 11:00:48 +03:00
2026-04-15 11:00:48 +03:00
2026-04-07 13:25:55 +03:00
2025-01-16 17:51:21 +03:00
upd
2026-04-20 17:47:33 +03:00
2026-04-17 09:45:32 +03:00
2026-04-17 09:45:32 +03:00
2024-04-23 13:35:49 +03:00
2026-04-02 17:25:10 +03:00
2026-04-14 09:36:27 +03:00
Description
No description provided
7.9 MiB
Languages
C++ 79.2%
Python 18.2%
CMake 1.6%
Batchfile 1%