From 2428ff9f3a332d9721f81a9498fa9952f97c68f3 Mon Sep 17 00:00:00 2001 From: Khoi Tran Date: Sat, 28 Jan 2017 22:09:11 -0700 Subject: [PATCH] mc_position_control: Fix divide by zero in scale_control --- src/modules/mc_pos_control/mc_pos_control_main.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index bdf32ba58b..636278484d 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -805,7 +805,11 @@ MulticopterPositionControl::scale_control(float ctl, float end, float dz, float return -dy + (ctl + dz) * (1.0f - dy) / (end - dz); } else { - return ctl * (dy / dz); + if (dz < FLT_EPSILON) { + return 0; + } else { + return ctl * (dy / dz); + } } }