Skip to content

Commit 2d35b16

Browse files
committedAug 4, 2011
Avoid a segfault when NULL layer is passed to vector writer
1 parent aa121bf commit 2d35b16

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed
 

‎python/core/qgsvectorfilewriter.sip

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ public:
2121
NoError = 0,
2222
ErrDriverNotFound,
2323
ErrCreateDataSource,
24-
ErrCreateLayer
24+
ErrCreateLayer,
25+
ErrAttributeTypeUnsupported,
26+
ErrAttributeCreationFailed,
27+
ErrProjection, // added in 1.5
28+
ErrFeatureWriteFailed, // added in 1.6
29+
ErrInvalidLayer, // added in 2.0
2530
};
2631

2732
/** Write contents of vector layer to a shapefile

‎src/core/qgsvectorfilewriter.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,11 @@ QgsVectorFileWriter::writeAsVectorFormat( QgsVectorLayer* layer,
588588
QgsCoordinateTransform* ct = 0;
589589
int shallTransform = false;
590590

591+
if ( layer == NULL )
592+
{
593+
return ErrInvalidLayer;
594+
}
595+
591596
if ( destCRS && destCRS->isValid() )
592597
{
593598
// This means we should transform

‎src/core/qgsvectorfilewriter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class CORE_EXPORT QgsVectorFileWriter
5353
ErrAttributeCreationFailed,
5454
ErrProjection, // added in 1.5
5555
ErrFeatureWriteFailed, // added in 1.6
56+
ErrInvalidLayer, // added in 2.0
5657
};
5758

5859
/** Write contents of vector layer to a shapefile

0 commit comments

Comments
 (0)
Please sign in to comment.