From 33cacc3fb0ebee3679f935b6a2b70aa28e81d3d0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 11 Mar 2024 13:04:17 +0100 Subject: [PATCH] Mesh: make sure in VisitNeighbourFacets() and VisitNeighbourFacetsOverCorners() that start index is within the valid range --- src/Mod/Mesh/App/Core/Visitor.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Mod/Mesh/App/Core/Visitor.cpp b/src/Mod/Mesh/App/Core/Visitor.cpp index 2c9992d3d1..0400224308 100644 --- a/src/Mod/Mesh/App/Core/Visitor.cpp +++ b/src/Mod/Mesh/App/Core/Visitor.cpp @@ -40,6 +40,10 @@ unsigned long MeshKernel::VisitNeighbourFacets(MeshFacetVisitor& rclFVisitor, std::vector::iterator clCurrIter; MeshFacetArray::_TConstIterator clCurrFacet, clNBFacet; + if (ulStartFacet >= _aclFacetArray.size()) { + return 0; + } + // pick up start point clCurrentLevel.push_back(ulStartFacet); _aclFacetArray[ulStartFacet].SetFlag(MeshFacet::VISIT); @@ -98,6 +102,10 @@ unsigned long MeshKernel::VisitNeighbourFacetsOverCorners(MeshFacetVisitor& rclF MeshFacetArray::_TConstIterator pFBegin = raclFAry.begin(); std::vector aclCurrentLevel, aclNextLevel; + if (ulStartFacet >= _aclFacetArray.size()) { + return 0; + } + aclCurrentLevel.push_back(ulStartFacet); raclFAry[ulStartFacet].SetFlag(MeshFacet::VISIT);