Navigator: add guards for using mission_item.loiter_radius only if finite and >FLT_EPS

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
Silvan Fuhrer
2022-10-27 10:28:05 +02:00
parent 605d4c47b9
commit 473b471fb6
3 changed files with 13 additions and 6 deletions
+3 -1
View File
@@ -443,7 +443,9 @@ Mission::find_mission_land_start()
_landing_start_lon = missionitem.lon;
_landing_start_alt = missionitem.altitude_is_relative ? missionitem.altitude +
_navigator->get_home_position()->alt : missionitem.altitude;
_landing_loiter_radius = missionitem.loiter_radius;
_landing_loiter_radius = (PX4_ISFINITE(missionitem.loiter_radius)
&& fabsf(missionitem.loiter_radius) > FLT_EPSILON) ? fabsf(missionitem.loiter_radius) :
_navigator->get_loiter_radius();
_land_start_available = true;
}