diff --git a/src/libslic3r/EdgeGrid.hpp b/src/libslic3r/EdgeGrid.hpp index 744a23e186..6bbed1e9fa 100644 --- a/src/libslic3r/EdgeGrid.hpp +++ b/src/libslic3r/EdgeGrid.hpp @@ -224,6 +224,8 @@ public: iy += 1; assert(iy <= iyb); } + if (ix < 0 || iy < 0 || ix >= (int64_t)m_cols || iy >= (int64_t)m_rows) + return; if (! visitor(iy, ix)) return; } while (ix != ixb || iy != iyb); @@ -245,6 +247,8 @@ public: iy -= 1; assert(iy >= iyb); } + if (ix < 0 || iy < 0 || ix >= (int64_t)m_cols || iy >= (int64_t)m_rows) + return; if (! visitor(iy, ix)) return; } while (ix != ixb || iy != iyb); @@ -270,6 +274,8 @@ public: iy += 1; assert(iy <= iyb); } + if (ix < 0 || iy < 0 || ix >= (int64_t)m_cols || iy >= (int64_t)m_rows) + return; if (! visitor(iy, ix)) return; } while (ix != ixb || iy != iyb); @@ -307,6 +313,8 @@ public: iy -= 1; assert(iy >= iyb); } + if (ix < 0 || iy < 0 || ix >= (int64_t)m_cols || iy >= (int64_t)m_rows) + return; if (! visitor(iy, ix)) return; } while (ix != ixb || iy != iyb);