diff --git a/source/armarx/navigation/algorithms/astar/util.cpp b/source/armarx/navigation/algorithms/astar/util.cpp index abc91b031633988a1d5271af700abe0d153c6d58..5885c48ae19c4fbe9af7e05531194cceb75b56bb 100644 --- a/source/armarx/navigation/algorithms/astar/util.cpp +++ b/source/armarx/navigation/algorithms/astar/util.cpp @@ -2,13 +2,12 @@ #include <cstddef> -#include <Eigen/src/Core/util/Meta.h> - #include <opencv2/core.hpp> #include <opencv2/core/mat.hpp> #include <opencv2/opencv.hpp> -#include "ArmarXCore/core/logging/Logging.h" +#include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <ArmarXCore/core/logging/Logging.h> namespace armarx::navigation { @@ -19,13 +18,18 @@ namespace armarx::navigation ARMARX_INFO << "Dumping to file."; ARMARX_INFO << "Shape: " << grid.rows() << ", " << grid.cols(); + + // pedantic checks to prevent overflow below + ARMARX_CHECK_GREATER(grid.rows(), 0); + ARMARX_CHECK_GREATER(grid.cols(), 0); + cv::Size size(grid.rows(), grid.cols()); cv::Mat1f mat(size); - for (size_t r = 0; r < grid.rows(); r++) + for (size_t r = 0; r < static_cast<size_t>(grid.rows()); r++) { - for (size_t c = 0; c < grid.cols(); c++) + for (size_t c = 0; c < static_cast<size_t>(grid.cols()); c++) { mat(cv::Point(r, c)) = grid(r, c); }