From: pkv Date: Mon, 31 Aug 2015 08:21:41 +0000 (+0300) Subject: Memory leak in IntTools_Context::Hatcher X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=34ea52b7089a3ed6d73818dbbed0c2d8fc407a9c;p=occt-copy.git Memory leak in IntTools_Context::Hatcher I. New features: No new features II.2. class BOPAlgo_WireSplitter - method: Geom2dHatch_Hatcher& IntTools_Context::Hatcher (const TopoDS_Face& aF) IntTools_SurfaceRangeLocalizeData& IntTools_Context::SurfaceData (const TopoDS_Face& aF) The memory allocation is provided using inner allocator of the object. II. Modified entities: packages: IntTools Issue for master: 0026616 --- diff --git a/src/IntTools/IntTools_Context.cxx b/src/IntTools/IntTools_Context.cxx index 4f5ec08913..765444c656 100644 --- a/src/IntTools/IntTools_Context.cxx +++ b/src/IntTools/IntTools_Context.cxx @@ -402,10 +402,11 @@ Geom2dHatch_Hatcher& IntTools_Context::Hatcher(const TopoDS_Face& aF) aEpsT=Precision::PConfusion(); // Geom2dHatch_Intersector aIntr(aTolArcIntr, aTolTangfIntr); - pHatcher=new Geom2dHatch_Hatcher(aIntr, - aTolHatch2D, aTolHatch3D, - Standard_True, Standard_False); - + pHatcher=(Geom2dHatch_Hatcher*) + myAllocator->Allocate(sizeof(Geom2dHatch_Hatcher)); + new (pHatcher) Geom2dHatch_Hatcher(aIntr, + aTolHatch2D, aTolHatch3D, + Standard_True, Standard_False); // aFF=aF; aFF.Orientation(TopAbs_FORWARD); @@ -451,7 +452,9 @@ IntTools_SurfaceRangeLocalizeData& IntTools_Context::SurfaceData IntTools_SurfaceRangeLocalizeData* pSData; // if (!myProjSDataMap.IsBound(aF)) { - pSData=new IntTools_SurfaceRangeLocalizeData + pSData=(IntTools_SurfaceRangeLocalizeData*) + myAllocator->Allocate(sizeof(IntTools_SurfaceRangeLocalizeData)); + new (pSData) IntTools_SurfaceRangeLocalizeData (3, 3, 10. * Precision::PConfusion(),