Skip to content

Commit b46d8d3

Browse files
committedSep 25, 2017
Fix memory leak when inserting invalid geometries
1 parent 307efe3 commit b46d8d3

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed
 

‎src/core/geometry/qgsmultilinestring.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@ bool QgsMultiLineString::addGeometry( QgsAbstractGeometry *g )
128128
bool QgsMultiLineString::insertGeometry( QgsAbstractGeometry *g, int index )
129129
{
130130
if ( !g || QgsWkbTypes::flatType( g->wkbType() ) != QgsWkbTypes::LineString )
131+
{
132+
delete g;
131133
return false;
134+
}
132135

133136
return QgsGeometryCollection::insertGeometry( g, index );
134137
}

‎src/core/geometry/qgsmultipoint.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@ bool QgsMultiPointV2::addGeometry( QgsAbstractGeometry *g )
142142
bool QgsMultiPointV2::insertGeometry( QgsAbstractGeometry *g, int index )
143143
{
144144
if ( !g || QgsWkbTypes::flatType( g->wkbType() ) != QgsWkbTypes::Point )
145+
{
146+
delete g;
145147
return false;
148+
}
146149

147150
return QgsGeometryCollection::insertGeometry( g, index );
148151
}

0 commit comments

Comments
 (0)
Please sign in to comment.