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);