mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-26 22:56:41 +08:00
If the receiver sends less than four channels, the reordering step will use unspecified data from the input buffer as valid RC input values. The official minimum channel count from the protocol documentation is two. There is no risk of a buffer overread or overwrite, it is hard to believe a user would set up this configuration, and there is a relatively strong checksum which protects the channel count too. Therefore, an actual problem is unlikely. Fix by rejecting packets claiming to have less than four channels. This fix is zero-cost and removes any risk of garbage from such packets.