Skip to content

Commit c9c15af

Browse files
committed
Fix null dereference errors
1 parent e6f91ca commit c9c15af

File tree

4 files changed

+13
-21
lines changed

4 files changed

+13
-21
lines changed

src/core/pal/util.cpp

+2-13
Original file line numberDiff line numberDiff line change
@@ -183,25 +183,16 @@ namespace pal
183183
}
184184
}
185185

186-
187-
188-
189-
//inline bool ptrGeomEq (const geos::geom::Geometry *l, const geos::geom::Geometry *r){
190186
inline bool ptrGeomEq( const GEOSGeometry *l, const GEOSGeometry *r )
191187
{
192188
return l == r;
193189
}
194190

195-
//LinkedList<const geos::geom::Geometry*> * unmulti (geos::geom::Geometry *the_geom){
196191
LinkedList<const GEOSGeometry*> * unmulti( const GEOSGeometry *the_geom )
197192
{
198-
199-
//LinkedList<const geos::geom::Geometry*> *queue = new LinkedList<const geos::geom::Geometry*>(ptrGeomEq);
200-
//LinkedList<const geos::geom::Geometry*> *final_queue = new LinkedList<const geos::geom::Geometry*>(ptrGeomEq);
201193
LinkedList<const GEOSGeometry*> *queue = new LinkedList<const GEOSGeometry*> ( ptrGeomEq );
202194
LinkedList<const GEOSGeometry*> *final_queue = new LinkedList<const GEOSGeometry*> ( ptrGeomEq );
203195

204-
//const geos::geom::Geometry *geom;
205196
const GEOSGeometry *geom;
206197

207198
queue->push_back( the_geom );
@@ -214,9 +205,6 @@ namespace pal
214205
GEOSContextHandle_t geosctxt = geosContext();
215206
switch ( GEOSGeomTypeId_r( geosctxt, geom ) )
216207
{
217-
//case geos::geom::GEOS_MULTIPOINT:
218-
//case geos::geom::GEOS_MULTILINESTRING:
219-
//case geos::geom::GEOS_MULTIPOLYGON:
220208
case GEOS_MULTIPOINT:
221209
case GEOS_MULTILINESTRING:
222210
case GEOS_MULTIPOLYGON:
@@ -233,7 +221,8 @@ namespace pal
233221
break;
234222
default:
235223
delete final_queue;
236-
final_queue = NULL;
224+
delete queue;
225+
return NULL;
237226
}
238227
}
239228
delete queue;

src/core/qgsofflineediting.cpp

+8-5
Original file line numberDiff line numberDiff line change
@@ -580,11 +580,14 @@ QgsVectorLayer* QgsOfflineEditing::copyVectorLayer( QgsVectorLayer* layer, sqlit
580580
int index = parentTreeGroup->children().indexOf( layerTreeLayer );
581581
// Move the new layer from the root group to the new group
582582
QgsLayerTreeLayer* newLayerTreeLayer = layerTreeRoot->findLayer( newLayer->id() );
583-
QgsLayerTreeNode* newLayerTreeLayerClone = newLayerTreeLayer->clone();
584-
QgsLayerTreeGroup* grp = qobject_cast<QgsLayerTreeGroup*>( newLayerTreeLayer->parent() );
585-
parentTreeGroup->insertChildNode( index, newLayerTreeLayerClone );
586-
if ( grp )
587-
grp->removeChildNode( newLayerTreeLayer );
583+
if ( newLayerTreeLayer )
584+
{
585+
QgsLayerTreeNode* newLayerTreeLayerClone = newLayerTreeLayer->clone();
586+
QgsLayerTreeGroup* grp = qobject_cast<QgsLayerTreeGroup*>( newLayerTreeLayer->parent() );
587+
parentTreeGroup->insertChildNode( index, newLayerTreeLayerClone );
588+
if ( grp )
589+
grp->removeChildNode( newLayerTreeLayer );
590+
}
588591
}
589592
}
590593

src/providers/ogr/qgsogrdataitems.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,8 @@ QGISEXTERN QgsDataItem * dataItem( QString thePath, QgsDataItem* parentItem )
252252
bool scanExtSetting = false;
253253
if (( settings.value( "/qgis/scanItemsInBrowser2",
254254
"extension" ).toString() == "extension" ) ||
255-
( settings.value( "/qgis/scanItemsFastScanUris",
256-
QStringList() ).toStringList().contains( parentItem->path() ) ) ||
255+
( parentItem && settings.value( "/qgis/scanItemsFastScanUris",
256+
QStringList() ).toStringList().contains( parentItem->path() ) ) ||
257257
(( is_vsizip || is_vsitar ) && parentItem && parentItem->parent() &&
258258
settings.value( "/qgis/scanItemsFastScanUris",
259259
QStringList() ).toStringList().contains( parentItem->parent()->path() ) ) )

src/server/qgswmsserver.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2989,7 +2989,7 @@ QDomElement QgsWMSServer::createFeatureGML(
29892989
typeNameElement.appendChild( bbElem );
29902990
}
29912991

2992-
if ( withGeom )
2992+
if ( withGeom && geom )
29932993
{
29942994
//add geometry column (as gml)
29952995

0 commit comments

Comments
 (0)