From 6f6395779765658e2a81d5b845583880efe53cb1 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Tue, 11 Dec 2018 15:49:07 +0100 Subject: [PATCH] Safety guard to prevent crashes --- src/providers/postgres/qgspostgresprovider.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/providers/postgres/qgspostgresprovider.cpp b/src/providers/postgres/qgspostgresprovider.cpp index 247d53aee16d..fa0dc3fa9338 100644 --- a/src/providers/postgres/qgspostgresprovider.cpp +++ b/src/providers/postgres/qgspostgresprovider.cpp @@ -2700,7 +2700,9 @@ bool QgsPostgresProvider::changeAttributeValues( const QgsChangedAttributesMap & { QVariantList k = mShared->removeFid( fid ); - for ( int i = 0; i < mPrimaryKeyAttrs.size(); i++ ) + int keyCount = std::min( mPrimaryKeyAttrs.size(), k.size() ); + + for ( int i = 0; i < keyCount; i++ ) { int idx = mPrimaryKeyAttrs.at( i ); if ( !attrs.contains( idx ) )