Fix out-of-bounds write in map_matching
This commit is contained in:
		
							parent
							
								
									6cf19ac4cf
								
							
						
					
					
						commit
						5728af4a2a
					
				| @ -117,7 +117,7 @@ class BasePlugin | |||||||
|     { |     { | ||||||
|         std::vector<std::vector<PhantomNodeWithDistance>> phantom_nodes( |         std::vector<std::vector<PhantomNodeWithDistance>> phantom_nodes( | ||||||
|             parameters.coordinates.size()); |             parameters.coordinates.size()); | ||||||
|         BOOST_ASSERT(parameters.radiuses.size() == parameters.coordinates.size()); |         BOOST_ASSERT(radiuses.size() == parameters.coordinates.size()); | ||||||
| 
 | 
 | ||||||
|         const bool use_hints = !parameters.hints.empty(); |         const bool use_hints = !parameters.hints.empty(); | ||||||
|         const bool use_bearings = !parameters.bearings.empty(); |         const bool use_bearings = !parameters.bearings.empty(); | ||||||
|  | |||||||
| @ -116,7 +116,7 @@ class MapMatching final : public BasicRoutingInterface<DataFacadeT, MapMatching< | |||||||
|         { |         { | ||||||
|             for (auto t = 0UL; t < candidates_list.size(); ++t) |             for (auto t = 0UL; t < candidates_list.size(); ++t) | ||||||
|             { |             { | ||||||
|                 emission_log_probabilities[t].resize(candidates_list.size()); |                 emission_log_probabilities[t].resize(candidates_list[t].size()); | ||||||
|                 std::transform(candidates_list[t].begin(), candidates_list[t].end(), |                 std::transform(candidates_list[t].begin(), candidates_list[t].end(), | ||||||
|                                emission_log_probabilities[t].begin(), |                                emission_log_probabilities[t].begin(), | ||||||
|                                [this](const PhantomNodeWithDistance &candidate) |                                [this](const PhantomNodeWithDistance &candidate) | ||||||
| @ -129,7 +129,7 @@ class MapMatching final : public BasicRoutingInterface<DataFacadeT, MapMatching< | |||||||
|         { |         { | ||||||
|             for (auto t = 0UL; t < candidates_list.size(); ++t) |             for (auto t = 0UL; t < candidates_list.size(); ++t) | ||||||
|             { |             { | ||||||
|                 emission_log_probabilities[t].resize(candidates_list.size()); |                 emission_log_probabilities[t].resize(candidates_list[t].size()); | ||||||
|                 if (trace_gps_precision[t]) |                 if (trace_gps_precision[t]) | ||||||
|                 { |                 { | ||||||
|                     map_matching::EmissionLogProbability emission_log_probability( |                     map_matching::EmissionLogProbability emission_log_probability( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user