diff options
author | Ali Kianian <ali.kianian@qt.io> | 2024-02-07 11:39:20 +0200 |
---|---|---|
committer | Ali Kianian <ali.kianian@qt.io> | 2024-02-09 12:35:16 +0000 |
commit | c584cf67ea8231f27281f93104566a141b5d7e8c (patch) | |
tree | 1b7ae90322dd52d50e46452b38bcd8575312cf5c | |
parent | 99f5b8a0af32dcd7bab2a15593f91217adbc5a6d (diff) |
QmlDesigner: Remove potentially excessive values from dataStore records
Change-Id: Ib2606fc50662b7724ae2ba11d21264334638bec9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp index f1827ee6be..4acd2f601a 100644 --- a/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp +++ b/src/plugins/qmldesigner/components/collectioneditor/collectiondetails.cpp @@ -853,8 +853,13 @@ CollectionDetails CollectionDetails::fromLocalCollection(const QJsonObject &loca if (int columnsCount = result.columns()) { const QJsonArray dataRecords = localCollection.value("data").toArray(); - for (const QJsonValue &dataRecordValue : dataRecords) - result.insertRecords(dataRecordValue.toArray()); + for (const QJsonValue &dataRecordValue : dataRecords) { + QJsonArray dataRecord = dataRecordValue.toArray(); + while (dataRecord.count() > columnsCount) + dataRecord.removeLast(); + + result.insertRecords(dataRecord); + } } } else { setError(CollectionParseError::ColumnsBlockIsNotArray); |