From fcd96a441dbbe97e3fe8dfa02e51482bcb696731 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 18 Jul 2022 17:52:43 +0200 Subject: [PATCH] Fix QLocale::createSeparatedList() for lists > 2Gi items ... by not truncating qsizetype sizes to int. Pick-to: 6.4 6.3 6.2 Fixes: QTBUG-105047 Change-Id: Iedb682e6649d4511073b33011f8fcc428f968422 Reviewed-by: Thiago Macieira Reviewed-by: Edward Welbourne --- src/corelib/text/qlocale.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp index fadcf024ca..153a25a035 100644 --- a/src/corelib/text/qlocale.cpp +++ b/src/corelib/text/qlocale.cpp @@ -1216,7 +1216,7 @@ QString QLocale::createSeparatedList(const QStringList &list) const } #endif - const int size = list.size(); + const qsizetype size = list.size(); if (size < 1) return QString(); @@ -1231,7 +1231,7 @@ QString QLocale::createSeparatedList(const QStringList &list) const QStringView formatMid = d->m_data->midListPattern().viewData(list_pattern_part_data); QStringView formatEnd = d->m_data->endListPattern().viewData(list_pattern_part_data); QString result = formatStart.arg(list.at(0), list.at(1)); - for (int i = 2; i < size - 1; ++i) + for (qsizetype i = 2; i < size - 1; ++i) result = formatMid.arg(result, list.at(i)); result = formatEnd.arg(result, list.at(size - 1)); return result;