Skip to content

Commit b46d8d3

Browse files
committed
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

+3
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

+3
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)