From 374b44060d35fb41263e8e9c6b40585dbca391a9 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 8 Dec 2016 09:54:51 +0100 Subject: [PATCH] #1025 Guard against invalid grid index and invalid cell index --- .../ModelVisualization/RivWellSpheresPartMgr.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ApplicationCode/ModelVisualization/RivWellSpheresPartMgr.cpp b/ApplicationCode/ModelVisualization/RivWellSpheresPartMgr.cpp index 3247168e91..fd3fe0d251 100644 --- a/ApplicationCode/ModelVisualization/RivWellSpheresPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivWellSpheresPartMgr.cpp @@ -37,7 +37,6 @@ #include "cvfObject.h" #include "cvfPart.h" - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -79,9 +78,14 @@ void RivWellSpheresPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicLis for (const RigWellResultPoint& wellResultPoint : wellResultBranch.m_branchResultPoints) { size_t gridIndex = wellResultPoint.m_gridIndex; - size_t gridCellIndex = wellResultPoint.m_gridCellIndex; - const RigGridBase* rigGrid = mainGrid->gridByIndex(gridIndex); + if (gridIndex >= mainGrid->gridCount()) continue; + + const RigGridBase* rigGrid = rigGrid = mainGrid->gridByIndex(gridIndex); + + size_t gridCellIndex = wellResultPoint.m_gridCellIndex; + if (gridCellIndex >= rigGrid->cellCount()) continue; + const RigCell& rigCell = rigGrid->cell(gridCellIndex); cvf::Vec3d center = rigCell.center();