Skip to content

Commit 8ce519d

Browse files
committedFeb 26, 2018
Fix memory leak in QgsPostgresProvider::createEmptyLayer
1 parent fb3e1c3 commit 8ce519d

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed
 

‎src/providers/postgres/qgspostgresprovider.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -3919,13 +3919,12 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
39193919

39203920
// use the provider to edit the table
39213921
dsUri.setDataSource( schemaName, tableName, geometryColumn, QString(), primaryKey );
3922-
QgsPostgresProvider *provider = new QgsPostgresProvider( dsUri.uri( false ) );
3922+
std::unique_ptr< QgsPostgresProvider > provider = qgis::make_unique< QgsPostgresProvider >( dsUri.uri( false ) );
39233923
if ( !provider->isValid() )
39243924
{
39253925
if ( errorMessage )
39263926
*errorMessage = QObject::tr( "Loading of the layer %1 failed" ).arg( schemaTableName );
39273927

3928-
delete provider;
39293928
return QgsVectorLayerExporter::ErrInvalidLayer;
39303929
}
39313930

@@ -3986,7 +3985,6 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
39863985
if ( errorMessage )
39873986
*errorMessage = QObject::tr( "Unsupported type for field %1" ).arg( fld.name() );
39883987

3989-
delete provider;
39903988
return QgsVectorLayerExporter::ErrAttributeTypeUnsupported;
39913989
}
39923990

@@ -4006,7 +4004,6 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
40064004
if ( errorMessage )
40074005
*errorMessage = QObject::tr( "Creation of fields failed" );
40084006

4009-
delete provider;
40104007
return QgsVectorLayerExporter::ErrAttributeCreationFailed;
40114008
}
40124009

0 commit comments

Comments
 (0)
Please sign in to comment.