diff --git a/src/drivers/distance_sensor/lightware_laser_serial/lightware_laser_serial.cpp b/src/drivers/distance_sensor/lightware_laser_serial/lightware_laser_serial.cpp index f27636657f..648d5f649f 100644 --- a/src/drivers/distance_sensor/lightware_laser_serial/lightware_laser_serial.cpp +++ b/src/drivers/distance_sensor/lightware_laser_serial/lightware_laser_serial.cpp @@ -219,6 +219,11 @@ int LightwareLaserSerial::collect() } else { for (int i = 0; i < ret; i++) { + // Check for overflow + if (_linebuf_index >= sizeof(_linebuf)) { + _parse_state = LW_PARSE_STATE0_UNSYNC; + } + if (OK == lightware_parser(readbuf[i], _linebuf, &_linebuf_index, &_parse_state, &distance_m)) { valid = true; }