From 222f3ad9e01dd80cb2ff00bfedb112662594db44 Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Thu, 19 Apr 2018 19:19:31 +0200 Subject: [PATCH] Check for index validity and do not crash! --- src/core/qgsvectordataprovider.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/qgsvectordataprovider.cpp b/src/core/qgsvectordataprovider.cpp index 0e6d3c776c6..fb863da7933 100644 --- a/src/core/qgsvectordataprovider.cpp +++ b/src/core/qgsvectordataprovider.cpp @@ -426,6 +426,12 @@ QVariant QgsVectorDataProvider::maximumValue( int index ) const QStringList QgsVectorDataProvider::uniqueStringsMatching( int index, const QString &substring, int limit, QgsFeedback *feedback ) const { + QStringList results; + + // Safety belt + if ( index < 0 || index >= fields().count() ) + return results; + QgsFeature f; QgsAttributeList keys; keys.append( index ); @@ -438,7 +444,6 @@ QStringList QgsVectorDataProvider::uniqueStringsMatching( int index, const QStri QgsFeatureIterator fi = getFeatures( request ); QSet set; - QStringList results; while ( fi.nextFeature( f ) ) {