Browse Source

mavlink: receiver battery_status prevent out of bounds access

- fixes https://github.com/PX4/PX4-Autopilot/issues/18385
master
Daniel Agar 3 years ago
parent
commit
fab053d33b
  1. 2
      src/modules/mavlink/mavlink_receiver.cpp

2
src/modules/mavlink/mavlink_receiver.cpp

@ -1730,7 +1730,7 @@ MavlinkReceiver::handle_message_battery_status(mavlink_message_t *msg) @@ -1730,7 +1730,7 @@ MavlinkReceiver::handle_message_battery_status(mavlink_message_t *msg)
float voltage_sum = 0.0f;
uint8_t cell_count = 0;
while (battery_mavlink.voltages[cell_count] < UINT16_MAX && cell_count < 10) {
while ((cell_count < 10) && (battery_mavlink.voltages[cell_count] < UINT16_MAX)) {
battery_status.voltage_cell_v[cell_count] = (float)(battery_mavlink.voltages[cell_count]) / 1000.0f;
voltage_sum += battery_status.voltage_cell_v[cell_count];
cell_count++;

Loading…
Cancel
Save