Fix out-of-bounds write in map_matching

This commit is contained in:
Patrick Niklaus 2016-02-23 22:50:26 +01:00
parent 6cf19ac4cf
commit 5728af4a2a
2 changed files with 3 additions and 3 deletions

View File

@ -117,7 +117,7 @@ class BasePlugin
{
std::vector<std::vector<PhantomNodeWithDistance>> phantom_nodes(
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_bearings = !parameters.bearings.empty();

View File

@ -116,7 +116,7 @@ class MapMatching final : public BasicRoutingInterface<DataFacadeT, MapMatching<
{
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(),
emission_log_probabilities[t].begin(),
[this](const PhantomNodeWithDistance &candidate)
@ -129,7 +129,7 @@ class MapMatching final : public BasicRoutingInterface<DataFacadeT, MapMatching<
{
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])
{
map_matching::EmissionLogProbability emission_log_probability(