From 9478af93e454d398a9263efad4b82b08862c34cb Mon Sep 17 00:00:00 2001 From: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:22:43 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5Fix=20Crash=20with=20painted=20Line?= =?UTF-8?q?=20in=20=20some=20corrupted=20models=20(#12806)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Safeguard EdgeGrid.hpp --- src/libslic3r/EdgeGrid.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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);