Skip to content

Commit

Permalink
fix some coverity issues
Browse files Browse the repository at this point in the history
  • Loading branch information
jef-n committed Feb 6, 2015
1 parent e0116ef commit e3d5a05
Show file tree
Hide file tree
Showing 28 changed files with 198 additions and 254 deletions.
6 changes: 4 additions & 2 deletions src/app/main.cpp
Expand Up @@ -207,12 +207,14 @@ static void dumpBacktrace( unsigned int depth )
close( STDERR_FILENO ); // close stderr close( STDERR_FILENO ); // close stderr


// stderr to pipe // stderr to pipe
if ( dup( fd[1] ) != STDERR_FILENO ) int stderr_new = dup( fd[1] );
if ( stderr_new != STDERR_FILENO )
{ {
close( stderr_new );
QgsDebugMsg( "dup to stderr failed" ); QgsDebugMsg( "dup to stderr failed" );
} }


close( fd[1] ); // close duped pipe close( fd[1] ); // close duped pipe
} }


void **buffer = new void *[ depth ]; void **buffer = new void *[ depth ];
Expand Down
8 changes: 7 additions & 1 deletion src/app/qgsrasterlayerproperties.cpp
Expand Up @@ -552,7 +552,9 @@ void QgsRasterLayerProperties::setRendererWidget( const QString& rendererName )
} }
} }
} }
delete oldWidget;
if ( mRendererWidget != oldWidget )
delete oldWidget;


if ( mHistogramWidget ) if ( mHistogramWidget )
{ {
Expand Down Expand Up @@ -911,6 +913,10 @@ void QgsRasterLayerProperties::apply()
{ {
resampleFilter->setZoomedOutResampler( zoomedOutResampler ); resampleFilter->setZoomedOutResampler( zoomedOutResampler );
} }
else
{
delete zoomedOutResampler;
}


if ( resampleFilter ) if ( resampleFilter )
{ {
Expand Down
7 changes: 5 additions & 2 deletions src/core/composer/qgscomposition.cpp
Expand Up @@ -240,8 +240,11 @@ void QgsComposition::refreshItems()
void QgsComposition::setSelectedItem( QgsComposerItem *item ) void QgsComposition::setSelectedItem( QgsComposerItem *item )
{ {
setAllUnselected(); setAllUnselected();
item->setSelected( true ); if ( item )
emit selectedItemChanged( item ); {
item->setSelected( true );
emit selectedItemChanged( item );
}
} }


void QgsComposition::setAllUnselected() void QgsComposition::setAllUnselected()
Expand Down
2 changes: 1 addition & 1 deletion src/core/pal/pointset.cpp
Expand Up @@ -105,7 +105,6 @@ namespace pal
x = new double[nbPoints]; x = new double[nbPoints];
y = new double[nbPoints]; y = new double[nbPoints];



for ( i = 0; i < nbPoints; i++ ) for ( i = 0; i < nbPoints; i++ )
{ {
x[i] = ps.x[i]; x[i] = ps.x[i];
Expand All @@ -115,6 +114,7 @@ namespace pal
if ( ps.cHull ) if ( ps.cHull )
{ {
cHullSize = ps.cHullSize; cHullSize = ps.cHullSize;
cHull = new int[cHullSize];
for ( i = 0; i < cHullSize; i++ ) for ( i = 0; i < cHullSize; i++ )
{ {
cHull[i] = ps.cHull[i]; cHull[i] = ps.cHull[i];
Expand Down
1 change: 0 additions & 1 deletion src/core/qgscolorschemeregistry.cpp
Expand Up @@ -46,7 +46,6 @@ QgsColorSchemeRegistry *QgsColorSchemeRegistry::instance()


QgsColorSchemeRegistry::QgsColorSchemeRegistry() QgsColorSchemeRegistry::QgsColorSchemeRegistry()
{ {

} }


QgsColorSchemeRegistry::~QgsColorSchemeRegistry() QgsColorSchemeRegistry::~QgsColorSchemeRegistry()
Expand Down
8 changes: 6 additions & 2 deletions src/core/qgsogcutils.cpp
Expand Up @@ -1625,7 +1625,11 @@ QgsExpression::NodeBinaryOperator* QgsOgcUtils::nodeBinaryOperatorFromOgcFilter(
return NULL; return NULL;
} }


return dynamic_cast< QgsExpression::NodeBinaryOperator * >( expr ); QgsExpression::NodeBinaryOperator *ret = dynamic_cast< QgsExpression::NodeBinaryOperator * >( expr );
if ( !ret )
delete expr;

return ret;
} }




Expand All @@ -1652,7 +1656,7 @@ QgsExpression::NodeFunction* QgsOgcUtils::nodeSpatialOperatorFromOgcFilter( QDom
} }
else else
{ {
errorMessage = QString( "No OGC Geometry found" ); errorMessage = "No OGC Geometry found";
delete gml2Args; delete gml2Args;
return NULL; return NULL;
} }
Expand Down
1 change: 1 addition & 0 deletions src/gui/qgsattributeeditorcontext.h
Expand Up @@ -55,6 +55,7 @@ class GUI_EXPORT QgsAttributeEditorContext
, mLayer( 0 ) , mLayer( 0 )
, mVectorLayerTools( 0 ) , mVectorLayerTools( 0 )
, mRelationMode( Undefined ) , mRelationMode( Undefined )
, mFormMode( Embed )
{} {}


QgsAttributeEditorContext( const QgsAttributeEditorContext& parentContext, FormMode formMode ) QgsAttributeEditorContext( const QgsAttributeEditorContext& parentContext, FormMode formMode )
Expand Down
9 changes: 3 additions & 6 deletions src/plugins/grass/qgsgrassattributes.cpp
Expand Up @@ -264,19 +264,16 @@ void QgsGrassAttributes::updateAttributes()


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


QString *error = mProvider->updateAttributes( tb->item( 0, 1 )->text().toInt(), tb->item( 1, 1 )->text().toInt(), sql ); QString error = mProvider->updateAttributes( tb->item( 0, 1 )->text().toInt(), tb->item( 1, 1 )->text().toInt(), sql );

if ( !error.isEmpty() )
if ( !error->isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), *error ); QMessageBox::warning( 0, tr( "Warning" ), error );
resultLabel->setText( tr( "ERROR" ) ); resultLabel->setText( tr( "ERROR" ) );
} }
else else
{ {
resultLabel->setText( tr( "OK" ) ); resultLabel->setText( tr( "OK" ) );
} }

delete error;
} }
} }


Expand Down
70 changes: 31 additions & 39 deletions src/plugins/grass/qgsgrassedit.cpp
Expand Up @@ -568,9 +568,8 @@ void QgsGrassEdit::setAttributeTable( int field )
{ {
mAttributeTable->setRowCount( 0 ); mAttributeTable->setRowCount( 0 );


QString *key = mProvider->key( field ); QString key = mProvider->key( field );

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


Expand All @@ -596,6 +595,8 @@ void QgsGrassEdit::setAttributeTable( int field )
ti->setFlags( ti->flags() & ~Qt::ItemIsEnabled ); ti->setFlags( ti->flags() & ~Qt::ItemIsEnabled );
mAttributeTable->setItem( c, 2, ti ); mAttributeTable->setItem( c, 2, ti );
} }

delete cols;
} }
else else
{ {
Expand Down Expand Up @@ -687,11 +688,10 @@ void QgsGrassEdit::alterTable( void )
} }
} }


QString *error = mProvider->createTable( field, mAttributeTable->item( 0, 0 )->text(), sql ); QString error = mProvider->createTable( field, mAttributeTable->item( 0, 0 )->text(), sql );

if ( !error.isEmpty() )
if ( !error->isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), *error ); QMessageBox::warning( 0, tr( "Warning" ), error );
} }
else else
{ {
Expand All @@ -700,7 +700,6 @@ void QgsGrassEdit::alterTable( void )
str.sprintf( "%d", field ); str.sprintf( "%d", field );
mFieldBox->addItem( str ); mFieldBox->addItem( str );
} }
delete error;
} }
else else
{ {
Expand All @@ -719,13 +718,11 @@ void QgsGrassEdit::alterTable( void )
sql.append( " (" + mAttributeTable->item( i, 2 )->text() + ")" ); sql.append( " (" + mAttributeTable->item( i, 2 )->text() + ")" );
} }


QString *error = mProvider->addColumn( field, sql ); QString error = mProvider->addColumn( field, sql );

if ( !error.isEmpty() )
if ( !error->isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), *error ); QMessageBox::warning( 0, tr( "Warning" ), error );
} }
delete error;
} }
} }


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


// Insert new DB record if link is defined and the record for this cat does not exist // Insert new DB record if link is defined and the record for this cat does not exist
QString *key = mProvider->key( field ); QString key = mProvider->key( field );

if ( !key.isEmpty() ) // Database link defined
if ( !key->isEmpty() ) // Database link defined
{ {
QgsAttributeMap *atts = mProvider->attributes( field, cat ); QgsAttributeMap *atts = mProvider->attributes( field, cat );


if ( atts->count() == 0 ) // Nothing selected if ( atts->count() == 0 ) // Nothing selected
{ {
QString *error = mProvider->insertAttributes( field, cat ); QString error = mProvider->insertAttributes( field, cat );

if ( !error.isEmpty() )
if ( !error->isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), *error ); QMessageBox::warning( 0, tr( "Warning" ), error );
} }
delete error;
} }


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


int orphan; int orphan;
QString *error = mProvider->isOrphan( field, cat, &orphan ); QString error = mProvider->isOrphan( field, cat, orphan );


if ( !error->isEmpty() ) if ( !error.isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), QMessageBox::warning( 0, tr( "Warning" ),
tr( "Cannot check orphan record: %1" ).arg( *error ) ); tr( "Cannot check orphan record: %1" ).arg( error ) );
return; return;
} }

if ( !orphan ) if ( !orphan )
return; return;


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


// Delete record // Delete record
error = mProvider->deleteAttribute( field, cat ); error = mProvider->deleteAttribute( field, cat );
if ( !error->isEmpty() ) if ( !error.isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), tr( "Cannot delete orphan record: " ) QMessageBox::warning( 0, tr( "Warning" ), tr( "Cannot delete orphan record: " )
+ *error ); + error );
return; return;
} }
} }


void QgsGrassEdit::addAttributes( int field, int cat ) void QgsGrassEdit::addAttributes( int field, int cat )
{ {
QString *key = mProvider->key( field ); QString key = mProvider->key( field );


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


QString catLabel; QString catLabel;
if ( key->isEmpty() ) if ( key.isEmpty() )
{ {
catLabel = "Category"; catLabel = "Category";
} }
else else
{ {
catLabel = *key; catLabel = key;
} }
mAttributes->setCat( tab, catLabel, cat ); mAttributes->setCat( tab, catLabel, cat );


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


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


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


// Insert new DB record if link is defined and the record for this cat does not exist // Insert new DB record if link is defined and the record for this cat does not exist
QString *key = mProvider->key( field ); QString key = mProvider->key( field );

if ( !key.isEmpty() ) // Database link defined
if ( !key->isEmpty() ) // Database link defined
{ {
QgsAttributeMap *atts = mProvider->attributes( field, cat ); QgsAttributeMap *atts = mProvider->attributes( field, cat );


if ( atts->size() == 0 ) // Nothing selected if ( atts->size() == 0 ) // Nothing selected
{ {
QString *error = mProvider->insertAttributes( field, cat ); QString error = mProvider->insertAttributes( field, cat );

if ( !error.isEmpty() )
if ( !error->isEmpty() )
{ {
QMessageBox::warning( 0, tr( "Warning" ), *error ); QMessageBox::warning( 0, tr( "Warning" ), error );
} }
delete error;
} }


delete atts; delete atts;
Expand Down
3 changes: 2 additions & 1 deletion src/plugins/grass/qgsgrassmodule.cpp
Expand Up @@ -2780,7 +2780,8 @@ void QgsGrassModuleInput::updateQgisLayers()
if ( item ) if ( item )
{ {
QgsGrassModuleInput *mapInput = dynamic_cast<QgsGrassModuleInput *>( item ); QgsGrassModuleInput *mapInput = dynamic_cast<QgsGrassModuleInput *>( item );
sourceMap = mapInput->currentMap(); if ( mapInput )
sourceMap = mapInput->currentMap();
} }
} }


Expand Down
5 changes: 3 additions & 2 deletions src/plugins/grass/qtermwidget/BlockArray.cpp
Expand Up @@ -178,7 +178,7 @@ bool BlockArray::setHistorySize( size_t newsize )


if ( !size ) if ( !size )
{ {
FILE* tmp = tmpfile(); FILE *tmp = tmpfile();
if ( !tmp ) if ( !tmp )
{ {
perror( "konsole: cannot open temp file.\n" ); perror( "konsole: cannot open temp file.\n" );
Expand All @@ -189,9 +189,10 @@ bool BlockArray::setHistorySize( size_t newsize )
if ( ion < 0 ) if ( ion < 0 )
{ {
perror( "konsole: cannot dup temp file.\n" ); perror( "konsole: cannot dup temp file.\n" );
fclose( tmp );
} }
fclose( tmp );
} }

if ( ion < 0 ) if ( ion < 0 )
return false; return false;


Expand Down
2 changes: 1 addition & 1 deletion src/plugins/grass/qtermwidget/History.cpp
Expand Up @@ -281,7 +281,7 @@ void HistoryScrollFile::addLine( bool previousWrapped )
// History Scroll Buffer ////////////////////////////////////// // History Scroll Buffer //////////////////////////////////////
HistoryScrollBuffer::HistoryScrollBuffer( unsigned int maxLineCount ) HistoryScrollBuffer::HistoryScrollBuffer( unsigned int maxLineCount )
: HistoryScroll( new HistoryTypeBuffer( maxLineCount ) ) : HistoryScroll( new HistoryTypeBuffer( maxLineCount ) )
, _historyBuffer() , _historyBuffer( 0 )
, _maxLineCount( 0 ) , _maxLineCount( 0 )
, _usedLines( 0 ) , _usedLines( 0 )
, _head( 0 ) , _head( 0 )
Expand Down
10 changes: 5 additions & 5 deletions src/plugins/topology/topolTest.cpp
Expand Up @@ -354,7 +354,6 @@ ErrorList topolTest::checkDuplicates( double tolerance, QgsVectorLayer *layer1,


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



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


QList<QgsFeatureId>* duplicateIds = new QList<QgsFeatureId>(); QList<QgsFeatureId> *duplicateIds = new QList<QgsFeatureId>();

QgsSpatialIndex* index;
index = mLayerIndexes[layer1->id()];


QgsSpatialIndex* index = mLayerIndexes[layer1->id()];
if ( !index ) if ( !index )
{ {
qDebug() << "no index present"; qDebug() << "no index present";
delete duplicateIds;
return errorList; return errorList;
} }


Expand Down Expand Up @@ -567,6 +565,8 @@ ErrorList topolTest::checkOverlaps( double tolerance, QgsVectorLayer *layer1, Qg
delete canvasExtentPoly; delete canvasExtentPoly;
} }


delete duplicateIds;

return errorList; return errorList;
} }


Expand Down
2 changes: 2 additions & 0 deletions src/providers/grass/qgis.d.rast.c
Expand Up @@ -280,5 +280,7 @@ static int cell_draw( char *name,
} }


G_close_cell( cellfile ); G_close_cell( cellfile );
fclose( fo );

return ( 0 ); return ( 0 );
} }

1 comment on commit e3d5a05

@nyalldawson
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jef-n nice, thanks for this... The list was rather daunting!

Please sign in to comment.