Bad command size check
Checklist (Please check before submitting)
- [X] I reviewed the Contributing Guide.
- [X] I performed a cursory search to see if the bug report is relevant, not redundant, nor in conflict with other tickets.
Describe the bug In the function CF_ProcessGroundCommand() the size check of PurgeQueue command is incorrect. The sizeof uses the wrong type in line 87: it excludes the CommandHeader, so the command size check fails all the time (for this command). CF_PurgeQueueCmd_t shall be used (as the Cmd_t was used for all the other commands).
To Reproduce Steps to reproduce the behavior:
- Initiate a CF_PURGE_QUEUE_CC command (with a valid channel number as a parameter)
- See error in console ouptut or Event messages:
EVENT --> CF-ERROR Event ID: 151 : CF: invalid ground command length for command 0x15, expected 4 got 12
Expected behavior The command size check shall be correct, and the command shall be executed.
Code snips
Ln 87 of cf_dispatch.c:
[CF_PURGE_QUEUE_CC] = sizeof(CF_UnionArgs_Payload_t),
System observed on:
- Hardware: Laptop
- OS: Ubuntu:23.10
- Versions: version git:draco-rc5-197-g7f36a040, CF Version 3.0.99.0
Additional context N.A.
Reporter Info Szilárd HELF Remred
Thanks for identifying this and pointing it out. This should be fixed.