From d27481538b4b84cc18946812d685fc745c0d6daf Mon Sep 17 00:00:00 2001 From: Josef Wienerroither Date: Sun, 6 Sep 2026 07:10:09 +0200 Subject: [PATCH] CGAL: fix potential invalid default-constructed iterator compare on border-halfedge faces in Triangulate() --- src/ifcgeom/kernels/cgal/CgalConversionResult.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/kernels/cgal/CgalConversionResult.cpp b/src/ifcgeom/kernels/cgal/CgalConversionResult.cpp index 2fbdb0a307..ac8ff9c78a 100644 --- a/src/ifcgeom/kernels/cgal/CgalConversionResult.cpp +++ b/src/ifcgeom/kernels/cgal/CgalConversionResult.cpp @@ -553,8 +553,9 @@ void ifcopenshell::geometry::CgalShape::Triangulate(ifcopenshell::geometry::Sett vertexidx[i] = (int)vidx; is_face_boundary[i] = setting_use_original_edges ? original_edges.find({ current_halfedge->vertex()->point(), current_halfedge->prev()->vertex()->point() }) != original_edges.end() - : facet_to_component[face] != facet_to_component[current_halfedge->opposite()->face()]; - + : current_halfedge->opposite()->is_border() + || facet_to_component.at(face) != facet_to_component.at(current_halfedge->opposite()->face()); + ++i; ++num_vertices; ++current_halfedge;