Skip to content

Commit e3d5a05

Browse files
committed
fix some coverity issues
1 parent e0116ef commit e3d5a05

28 files changed

+198
-254
lines changed

src/app/main.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -207,12 +207,14 @@ static void dumpBacktrace( unsigned int depth )
207207
close( STDERR_FILENO ); // close stderr
208208

209209
// stderr to pipe
210-
if ( dup( fd[1] ) != STDERR_FILENO )
210+
int stderr_new = dup( fd[1] );
211+
if ( stderr_new != STDERR_FILENO )
211212
{
213+
close( stderr_new );
212214
QgsDebugMsg( "dup to stderr failed" );
213215
}
214216

215-
close( fd[1] ); // close duped pipe
217+
close( fd[1] ); // close duped pipe
216218
}
217219

218220
void **buffer = new void *[ depth ];

src/app/qgsrasterlayerproperties.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,9 @@ void QgsRasterLayerProperties::setRendererWidget( const QString& rendererName )
552552
}
553553
}
554554
}
555-
delete oldWidget;
555+
556+
if ( mRendererWidget != oldWidget )
557+
delete oldWidget;
556558

557559
if ( mHistogramWidget )
558560
{
@@ -911,6 +913,10 @@ void QgsRasterLayerProperties::apply()
911913
{
912914
resampleFilter->setZoomedOutResampler( zoomedOutResampler );
913915
}
916+
else
917+
{
918+
delete zoomedOutResampler;
919+
}
914920

915921
if ( resampleFilter )
916922
{

src/core/composer/qgscomposition.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,11 @@ void QgsComposition::refreshItems()
240240
void QgsComposition::setSelectedItem( QgsComposerItem *item )
241241
{
242242
setAllUnselected();
243-
item->setSelected( true );
244-
emit selectedItemChanged( item );
243+
if ( item )
244+
{
245+
item->setSelected( true );
246+
emit selectedItemChanged( item );
247+
}
245248
}
246249

247250
void QgsComposition::setAllUnselected()

src/core/pal/pointset.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ namespace pal
105105
x = new double[nbPoints];
106106
y = new double[nbPoints];
107107

108-
109108
for ( i = 0; i < nbPoints; i++ )
110109
{
111110
x[i] = ps.x[i];
@@ -115,6 +114,7 @@ namespace pal
115114
if ( ps.cHull )
116115
{
117116
cHullSize = ps.cHullSize;
117+
cHull = new int[cHullSize];
118118
for ( i = 0; i < cHullSize; i++ )
119119
{
120120
cHull[i] = ps.cHull[i];

src/core/qgscolorschemeregistry.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ QgsColorSchemeRegistry *QgsColorSchemeRegistry::instance()
4646

4747
QgsColorSchemeRegistry::QgsColorSchemeRegistry()
4848
{
49-
5049
}
5150

5251
QgsColorSchemeRegistry::~QgsColorSchemeRegistry()

src/core/qgsogcutils.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -1625,7 +1625,11 @@ QgsExpression::NodeBinaryOperator* QgsOgcUtils::nodeBinaryOperatorFromOgcFilter(
16251625
return NULL;
16261626
}
16271627

1628-
return dynamic_cast< QgsExpression::NodeBinaryOperator * >( expr );
1628+
QgsExpression::NodeBinaryOperator *ret = dynamic_cast< QgsExpression::NodeBinaryOperator * >( expr );
1629+
if ( !ret )
1630+
delete expr;
1631+
1632+
return ret;
16291633
}
16301634

16311635

@@ -1652,7 +1656,7 @@ QgsExpression::NodeFunction* QgsOgcUtils::nodeSpatialOperatorFromOgcFilter( QDom
16521656
}
16531657
else
16541658
{
1655-
errorMessage = QString( "No OGC Geometry found" );
1659+
errorMessage = "No OGC Geometry found";
16561660
delete gml2Args;
16571661
return NULL;
16581662
}

src/gui/qgsattributeeditorcontext.h

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class GUI_EXPORT QgsAttributeEditorContext
5555
, mLayer( 0 )
5656
, mVectorLayerTools( 0 )
5757
, mRelationMode( Undefined )
58+
, mFormMode( Embed )
5859
{}
5960

6061
QgsAttributeEditorContext( const QgsAttributeEditorContext& parentContext, FormMode formMode )

src/plugins/grass/qgsgrassattributes.cpp

+3-6
Original file line numberDiff line numberDiff line change
@@ -264,19 +264,16 @@ void QgsGrassAttributes::updateAttributes()
264264

265265
QgsDebugMsg( QString( "sql: %1" ).arg( sql ) );
266266

267-
QString *error = mProvider->updateAttributes( tb->item( 0, 1 )->text().toInt(), tb->item( 1, 1 )->text().toInt(), sql );
268-
269-
if ( !error->isEmpty() )
267+
QString error = mProvider->updateAttributes( tb->item( 0, 1 )->text().toInt(), tb->item( 1, 1 )->text().toInt(), sql );
268+
if ( !error.isEmpty() )
270269
{
271-
QMessageBox::warning( 0, tr( "Warning" ), *error );
270+
QMessageBox::warning( 0, tr( "Warning" ), error );
272271
resultLabel->setText( tr( "ERROR" ) );
273272
}
274273
else
275274
{
276275
resultLabel->setText( tr( "OK" ) );
277276
}
278-
279-
delete error;
280277
}
281278
}
282279

src/plugins/grass/qgsgrassedit.cpp

+31-39
Original file line numberDiff line numberDiff line change
@@ -568,9 +568,8 @@ void QgsGrassEdit::setAttributeTable( int field )
568568
{
569569
mAttributeTable->setRowCount( 0 );
570570

571-
QString *key = mProvider->key( field );
572-
573-
if ( !key->isEmpty() ) // Database link defined
571+
QString key = mProvider->key( field );
572+
if ( !key.isEmpty() ) // Database link defined
574573
{
575574
QVector<QgsField> *cols = mProvider->columns( field );
576575

@@ -596,6 +595,8 @@ void QgsGrassEdit::setAttributeTable( int field )
596595
ti->setFlags( ti->flags() & ~Qt::ItemIsEnabled );
597596
mAttributeTable->setItem( c, 2, ti );
598597
}
598+
599+
delete cols;
599600
}
600601
else
601602
{
@@ -687,11 +688,10 @@ void QgsGrassEdit::alterTable( void )
687688
}
688689
}
689690

690-
QString *error = mProvider->createTable( field, mAttributeTable->item( 0, 0 )->text(), sql );
691-
692-
if ( !error->isEmpty() )
691+
QString error = mProvider->createTable( field, mAttributeTable->item( 0, 0 )->text(), sql );
692+
if ( !error.isEmpty() )
693693
{
694-
QMessageBox::warning( 0, tr( "Warning" ), *error );
694+
QMessageBox::warning( 0, tr( "Warning" ), error );
695695
}
696696
else
697697
{
@@ -700,7 +700,6 @@ void QgsGrassEdit::alterTable( void )
700700
str.sprintf( "%d", field );
701701
mFieldBox->addItem( str );
702702
}
703-
delete error;
704703
}
705704
else
706705
{
@@ -719,13 +718,11 @@ void QgsGrassEdit::alterTable( void )
719718
sql.append( " (" + mAttributeTable->item( i, 2 )->text() + ")" );
720719
}
721720

722-
QString *error = mProvider->addColumn( field, sql );
723-
724-
if ( !error->isEmpty() )
721+
QString error = mProvider->addColumn( field, sql );
722+
if ( !error.isEmpty() )
725723
{
726-
QMessageBox::warning( 0, tr( "Warning" ), *error );
724+
QMessageBox::warning( 0, tr( "Warning" ), error );
727725
}
728-
delete error;
729726
}
730727
}
731728

@@ -1084,21 +1081,18 @@ int QgsGrassEdit::writeLine( int type, struct line_pnts *Points )
10841081
Vect_cat_set( mCats, field, cat );
10851082

10861083
// Insert new DB record if link is defined and the record for this cat does not exist
1087-
QString *key = mProvider->key( field );
1088-
1089-
if ( !key->isEmpty() ) // Database link defined
1084+
QString key = mProvider->key( field );
1085+
if ( !key.isEmpty() ) // Database link defined
10901086
{
10911087
QgsAttributeMap *atts = mProvider->attributes( field, cat );
10921088

10931089
if ( atts->count() == 0 ) // Nothing selected
10941090
{
1095-
QString *error = mProvider->insertAttributes( field, cat );
1096-
1097-
if ( !error->isEmpty() )
1091+
QString error = mProvider->insertAttributes( field, cat );
1092+
if ( !error.isEmpty() )
10981093
{
1099-
QMessageBox::warning( 0, tr( "Warning" ), *error );
1094+
QMessageBox::warning( 0, tr( "Warning" ), error );
11001095
}
1101-
delete error;
11021096
}
11031097

11041098
delete atts;
@@ -1411,14 +1405,15 @@ void QgsGrassEdit::checkOrphan( int field, int cat )
14111405
QgsDebugMsg( QString( "field = %1 cat = %2" ).arg( field ).arg( cat ) );
14121406

14131407
int orphan;
1414-
QString *error = mProvider->isOrphan( field, cat, &orphan );
1408+
QString error = mProvider->isOrphan( field, cat, orphan );
14151409

1416-
if ( !error->isEmpty() )
1410+
if ( !error.isEmpty() )
14171411
{
14181412
QMessageBox::warning( 0, tr( "Warning" ),
1419-
tr( "Cannot check orphan record: %1" ).arg( *error ) );
1413+
tr( "Cannot check orphan record: %1" ).arg( error ) );
14201414
return;
14211415
}
1416+
14221417
if ( !orphan )
14231418
return;
14241419

@@ -1432,35 +1427,35 @@ void QgsGrassEdit::checkOrphan( int field, int cat )
14321427

14331428
// Delete record
14341429
error = mProvider->deleteAttribute( field, cat );
1435-
if ( !error->isEmpty() )
1430+
if ( !error.isEmpty() )
14361431
{
14371432
QMessageBox::warning( 0, tr( "Warning" ), tr( "Cannot delete orphan record: " )
1438-
+ *error );
1433+
+ error );
14391434
return;
14401435
}
14411436
}
14421437

14431438
void QgsGrassEdit::addAttributes( int field, int cat )
14441439
{
1445-
QString *key = mProvider->key( field );
1440+
QString key = mProvider->key( field );
14461441

14471442
QString lab;
14481443
lab.sprintf( "%d:%d", field, cat );
14491444
int tab = mAttributes->addTab( lab );
14501445
mAttributes->setField( tab, field );
14511446

14521447
QString catLabel;
1453-
if ( key->isEmpty() )
1448+
if ( key.isEmpty() )
14541449
{
14551450
catLabel = "Category";
14561451
}
14571452
else
14581453
{
1459-
catLabel = *key;
1454+
catLabel = key;
14601455
}
14611456
mAttributes->setCat( tab, catLabel, cat );
14621457

1463-
if ( !key->isEmpty() ) // Database link defined
1458+
if ( !key.isEmpty() ) // Database link defined
14641459
{
14651460
QVector<QgsField> *cols = mProvider->columns( field );
14661461

@@ -1486,7 +1481,7 @@ void QgsGrassEdit::addAttributes( int field, int cat )
14861481
QVariant att = ( *atts )[j];
14871482
QgsDebugMsg( QString( " name = %1" ).arg( col.name() ) );
14881483

1489-
if ( col.name() != *key )
1484+
if ( col.name() != key )
14901485
{
14911486
QgsDebugMsg( QString( " value = %1" ).arg( att.toString() ) );
14921487
mAttributes->addAttribute( tab, col.name(), att.toString(), col.typeName() );
@@ -1519,21 +1514,18 @@ void QgsGrassEdit::addCat( int line )
15191514
increaseMaxCat();
15201515

15211516
// Insert new DB record if link is defined and the record for this cat does not exist
1522-
QString *key = mProvider->key( field );
1523-
1524-
if ( !key->isEmpty() ) // Database link defined
1517+
QString key = mProvider->key( field );
1518+
if ( !key.isEmpty() ) // Database link defined
15251519
{
15261520
QgsAttributeMap *atts = mProvider->attributes( field, cat );
15271521

15281522
if ( atts->size() == 0 ) // Nothing selected
15291523
{
1530-
QString *error = mProvider->insertAttributes( field, cat );
1531-
1532-
if ( !error->isEmpty() )
1524+
QString error = mProvider->insertAttributes( field, cat );
1525+
if ( !error.isEmpty() )
15331526
{
1534-
QMessageBox::warning( 0, tr( "Warning" ), *error );
1527+
QMessageBox::warning( 0, tr( "Warning" ), error );
15351528
}
1536-
delete error;
15371529
}
15381530

15391531
delete atts;

src/plugins/grass/qgsgrassmodule.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -2780,7 +2780,8 @@ void QgsGrassModuleInput::updateQgisLayers()
27802780
if ( item )
27812781
{
27822782
QgsGrassModuleInput *mapInput = dynamic_cast<QgsGrassModuleInput *>( item );
2783-
sourceMap = mapInput->currentMap();
2783+
if ( mapInput )
2784+
sourceMap = mapInput->currentMap();
27842785
}
27852786
}
27862787

src/plugins/grass/qtermwidget/BlockArray.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ bool BlockArray::setHistorySize( size_t newsize )
178178

179179
if ( !size )
180180
{
181-
FILE* tmp = tmpfile();
181+
FILE *tmp = tmpfile();
182182
if ( !tmp )
183183
{
184184
perror( "konsole: cannot open temp file.\n" );
@@ -189,9 +189,10 @@ bool BlockArray::setHistorySize( size_t newsize )
189189
if ( ion < 0 )
190190
{
191191
perror( "konsole: cannot dup temp file.\n" );
192-
fclose( tmp );
193192
}
193+
fclose( tmp );
194194
}
195+
195196
if ( ion < 0 )
196197
return false;
197198

src/plugins/grass/qtermwidget/History.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ void HistoryScrollFile::addLine( bool previousWrapped )
281281
// History Scroll Buffer //////////////////////////////////////
282282
HistoryScrollBuffer::HistoryScrollBuffer( unsigned int maxLineCount )
283283
: HistoryScroll( new HistoryTypeBuffer( maxLineCount ) )
284-
, _historyBuffer()
284+
, _historyBuffer( 0 )
285285
, _maxLineCount( 0 )
286286
, _usedLines( 0 )
287287
, _head( 0 )

src/plugins/topology/topolTest.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,6 @@ ErrorList topolTest::checkDuplicates( double tolerance, QgsVectorLayer *layer1,
354354

355355
QgsGeometry* canvasExtentPoly = QgsGeometry::fromWkt( theQgsInterface->mapCanvas()->extent().asWktPolygon() );
356356

357-
358357
QMap<QgsFeatureId, FeatureLayer>::Iterator it;
359358
QMap<QgsFeatureId, FeatureLayer>::ConstIterator FeatureListEnd = mFeatureMap2.end();
360359
for ( it = mFeatureMap2.begin(); it != FeatureListEnd; ++it )
@@ -457,14 +456,13 @@ ErrorList topolTest::checkOverlaps( double tolerance, QgsVectorLayer *layer1, Qg
457456
return errorList;
458457
}
459458

460-
QList<QgsFeatureId>* duplicateIds = new QList<QgsFeatureId>();
461-
462-
QgsSpatialIndex* index;
463-
index = mLayerIndexes[layer1->id()];
459+
QList<QgsFeatureId> *duplicateIds = new QList<QgsFeatureId>();
464460

461+
QgsSpatialIndex* index = mLayerIndexes[layer1->id()];
465462
if ( !index )
466463
{
467464
qDebug() << "no index present";
465+
delete duplicateIds;
468466
return errorList;
469467
}
470468

@@ -567,6 +565,8 @@ ErrorList topolTest::checkOverlaps( double tolerance, QgsVectorLayer *layer1, Qg
567565
delete canvasExtentPoly;
568566
}
569567

568+
delete duplicateIds;
569+
570570
return errorList;
571571
}
572572

src/providers/grass/qgis.d.rast.c

+2
Original file line numberDiff line numberDiff line change
@@ -280,5 +280,7 @@ static int cell_draw( char *name,
280280
}
281281

282282
G_close_cell( cellfile );
283+
fclose( fo );
284+
283285
return ( 0 );
284286
}

0 commit comments

Comments
 (0)