Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix #1151 about move_base crashes.
if the LaserScan.msg is malformed, the move_base will crash.
sensor_msgs/LaserScan.msg:
std_msgs/Header header
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment #it seems the value is below zero or beyond INT_MAX, roscore will throw a runtime_error.
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities
in roscpp_core/rostime/include/ros/impl/duration.h
if (sec64 < std::numeric_limits<int32_t>::min() || sec64 > std::numeric_limits<int32_t>::max())
throw std::runtime_error("Duration is out of dual 32-bit range")
in roscpp_core/rostime/include/ros/impl/time.h
if (sec64 < 0 || sec64 > std::numeric_limits<uint32_t>::max())
throw std::runtime_error("Time is out of dual 32-bit range");
before fix:
after fix: