@@ -242,6 +242,30 @@ TEST(ValidateMessagesTest, OccupancyGridCheck) {
242242 std::vector<int8_t > invalid_data (100 * 99 , 0 ); // Incorrect data size
243243 invalid_occupancy_grid.data = invalid_data;
244244 EXPECT_FALSE (nav2::validateMsg (invalid_occupancy_grid));
245+
246+ // Test overflow uint32_t OccupancyGrid message
247+ invalid_occupancy_grid.header .frame_id = " map" ;
248+ invalid_occupancy_grid.info .resolution = 0.05 ;
249+ invalid_occupancy_grid.info .width = 65536 ;
250+ invalid_occupancy_grid.info .height = 65536 ;
251+ invalid_occupancy_grid.data = data;
252+ EXPECT_FALSE (nav2::validateMsg (invalid_occupancy_grid));
253+
254+ // Test overflow INT16_MAX OccupancyGrid message
255+ invalid_occupancy_grid.header .frame_id = " map" ;
256+ invalid_occupancy_grid.info .resolution = 0.05 ;
257+ invalid_occupancy_grid.info .width = INT16_MAX + 1 ;
258+ invalid_occupancy_grid.info .height = 100 ;
259+ invalid_occupancy_grid.data = data;
260+ EXPECT_FALSE (nav2::validateMsg (invalid_occupancy_grid));
261+
262+ // Test overflow INT16_MAX OccupancyGrid message
263+ invalid_occupancy_grid.header .frame_id = " map" ;
264+ invalid_occupancy_grid.info .resolution = 0.05 ;
265+ invalid_occupancy_grid.info .width = 100 ;
266+ invalid_occupancy_grid.info .height = INT16_MAX + 1 ;
267+ invalid_occupancy_grid.data = data;
268+ EXPECT_FALSE (nav2::validateMsg (invalid_occupancy_grid));
245269}
246270
247271TEST (ValidateMessagesTest, PoseWithCovarianceCheck) {
0 commit comments