ArduPilot / ArduPilot/apm_planner

User input is not checked propperly in adv parameter list

Open
#598 2 comments 0 reactions 0 assignees View on GitHub
ready
Dominant language
C++
Stars
550
Forks
483
PR merge metrics
No merged PRs in 30d

Description

Using latest master, the user is allowed to enter non-numeric values in the advanced parameter list (and may be somewhere else, too). These are converted to zero internally when the changes are written to the vehicle.

Just try the following: enter "0,15" on ArduCopter parameter RATE_PIT_P. The value will be accepted, the row changes to green. If you press write now, the value changes into "0.000". This value will be written into the vehicle without further warning.

If your vehicle was in the air while doing this, you better bring your shovel for recovery...

PS.: may be the bug is related to my German locale setting (0,15 in German means 0.15 in English number formatting).

Contributor guide

Open the contributing guide

Research direction

Start in the advanced parameter list by reproducing the RATE_PIT_P case with the German locale and input "0,15". Trace validation and conversion through the write path; done means invalid or locale-formatted input is not silently accepted as zero or written to the vehicle.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.