Skip to content

Commit bbb6a14

Browse files
luckys00peterbarker
authored andcommitted
AP_Mission: protect against FPE in mavlink_int_to_mission_cmd
Signed-off-by: luckys00 <[email protected]> AP_Mission: reject invalid param1 instead of constraining
1 parent 6c1fb03 commit bbb6a14

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

libraries/AP_Mission/AP_Mission.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1100,7 +1100,11 @@ MAV_MISSION_RESULT AP_Mission::mavlink_int_to_mission_cmd(const mavlink_mission_
11001100
cmd.p1 = (passby << 8) | (acp & 0x00FF);
11011101
#else
11021102
// delay at waypoint in seconds (this is for copters???)
1103-
cmd.p1 = packet.param1;
1103+
// reject invalid param1 values to prevent floating point exception
1104+
if (packet.param1 < 0 || packet.param1 > UINT16_MAX) {
1105+
return MAV_MISSION_INVALID_PARAM1;
1106+
}
1107+
cmd.p1 = (uint16_t)packet.param1;
11041108
#endif
11051109
}
11061110
break;

0 commit comments

Comments
 (0)