mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-20 06:45:16 +03:00
Add validation to MSP for the rc_smoothing_auto_factor setting
This is a workaround for a validation bug in configurator 10.6 where the user can enter an invalid value, immediately click "Save" and that value will be stored before the value is range-checked. Added validation to the MSP message processing to constrain the range to prevent a dangerous result.
This commit is contained in:
parent
c002d04356
commit
15ec707a0b
3 changed files with 12 additions and 2 deletions
|
@ -3051,7 +3051,11 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
if (sbufBytesRemaining(src) >= 1) {
|
||||
// Added in MSP API 1.42
|
||||
#if defined(USE_RC_SMOOTHING_FILTER)
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_auto_factor, sbufReadU8(src));
|
||||
// Added extra validation/range constraint for rc_smoothing_auto_factor as a workaround for a bug in
|
||||
// the 10.6 configurator where it was possible to submit an invalid out-of-range value. We might be
|
||||
// able to remove the constraint at some point in the future once the affected versions are deprecated
|
||||
// enough that the risk is low.
|
||||
configRebootUpdateCheckU8(&rxConfigMutable()->rc_smoothing_auto_factor, constrain(sbufReadU8(src), RC_SMOOTHING_AUTO_FACTOR_MIN, RC_SMOOTHING_AUTO_FACTOR_MAX));
|
||||
#else
|
||||
sbufReadU8(src);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue