[Libreoffice-commits] core.git: filter/source
Caolán McNamara
caolanm at redhat.com
Tue Jan 17 21:03:39 UTC 2017
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 <caolanm at 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();
More information about the Libreoffice-commits
mailing list