mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-04-02 04:04:29 +05:00
0022232: [CEA 837] Memory corruption in GEOM/SMESH that leads to segfault on debian64
Fix ==7374== Invalid read of size 8 ==7374== at 0x6B1F53F: TCollection_BasicMapIterator::Next() (in libTKernel.so.0.0.0) ==7374== by 0x3A120D3A: GEOMAlgo_Builder::FillInternalShapes() (GEOMAlgo_Builder_3.cxx:717) - in FillInternalShapes() fix removal of map items while iteration through the map
This commit is contained in:
parent
5de463a68d
commit
0c3b75095a
@ -714,8 +714,9 @@ void GEOMAlgo_Builder::BuildDraftSolid (const TopoDS_Shape& theSolid,
|
|||||||
TopoDS_Solid aSd=TopoDS::Solid(aIt.Value());
|
TopoDS_Solid aSd=TopoDS::Solid(aIt.Value());
|
||||||
//
|
//
|
||||||
aItM.Initialize(aMSI);
|
aItM.Initialize(aMSI);
|
||||||
for (; aItM.More(); aItM.Next()) {
|
for (; aItM.More(); /*aItM.Next()*/) {
|
||||||
TopoDS_Shape aSI=aItM.Key();
|
TopoDS_Shape aSI=aItM.Key();
|
||||||
|
aItM.Next(); // to safely call aMSI.Remove(aSI)
|
||||||
aSI.Orientation(TopAbs_INTERNAL);
|
aSI.Orientation(TopAbs_INTERNAL);
|
||||||
//
|
//
|
||||||
aState=GEOMAlgo_Tools3D::ComputeStateByOnePoint(aSI, aSd, 1.e-11, aCtx);
|
aState=GEOMAlgo_Tools3D::ComputeStateByOnePoint(aSI, aSd, 1.e-11, aCtx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user