filter/source/graphicfilter/idxf/dxfentrd.cxx | 6 ++---- filter/source/graphicfilter/idxf/dxfentrd.hxx | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-)
New commits: commit 157472752d822251f57d4089effac454b875e183 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Jan 17 21:02:31 2017 +0000 ofz#413 leak in DXFBoundaryPathData::EvaluateGroup Change-Id: I3eac501ce6edba1688571be1b9172c720f55a1ff diff --git a/filter/source/graphicfilter/idxf/dxfentrd.cxx b/filter/source/graphicfilter/idxf/dxfentrd.cxx index 14445b1..892c0b3 100644 --- a/filter/source/graphicfilter/idxf/dxfentrd.cxx +++ b/filter/source/graphicfilter/idxf/dxfentrd.cxx @@ -576,10 +576,8 @@ DXFBoundaryPathData::DXFBoundaryPathData() : DXFBoundaryPathData::~DXFBoundaryPathData() { - sal_uInt32 i = 0; - for ( i = 0; i < aEdges.size(); i++ ) + for (sal_uInt32 i = 0; i < aEdges.size(); ++i) delete aEdges[ i ]; - delete[] pP; } bool DXFBoundaryPathData::EvaluateGroup( DXFGroupReader & rDGR ) @@ -600,7 +598,7 @@ bool DXFBoundaryPathData::EvaluateGroup( DXFGroupReader & rDGR ) { nPointCount = rDGR.GetI(); if ( nPointCount ) - pP = new DXFVector[ nPointCount ]; + pP.reset( new DXFVector[ nPointCount ] ); } break; case 72 : nHasBulgeFlag = rDGR.GetI(); break; diff --git a/filter/source/graphicfilter/idxf/dxfentrd.hxx b/filter/source/graphicfilter/idxf/dxfentrd.hxx index 8f801ba..e39ff48 100644 --- a/filter/source/graphicfilter/idxf/dxfentrd.hxx +++ b/filter/source/graphicfilter/idxf/dxfentrd.hxx @@ -412,9 +412,8 @@ struct DXFBoundaryPathData bool bIsPolyLine; sal_Int32 nPointIndex; - DXFVector* pP; - std::deque< DXFEdgeType* > - aEdges; + std::unique_ptr<DXFVector[]> pP; + std::deque<DXFEdgeType*> aEdges; DXFBoundaryPathData(); ~DXFBoundaryPathData();
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits