summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMate Barany <mate.barany@qt.io>2022-08-11 15:01:17 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-08-17 14:38:30 +0000
commit095a4132612496589e643f691d85625fc143a33c (patch)
tree5f4c07dd5c68b44f8c3a3999c43f16c76dcabfe2
parentacdd89c2f6ebd836f0a7f48d7bec5d585a73108a (diff)
Fix undefined behavior in qlocationutils_readGsa()
Since parts.at(parts.size()) is UB, replace the loop condition <= qMin(14, parts.size()) with < qMin(15, parts.size()). Also change the type of the loop counter from int to qsizetype. Task-number: QTBUG-103552 Change-Id: I982243d852290cc5ad85339c7df9b242212169dd Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 53b703720239ca1cded69f51634ece0f58366ad1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/positioning/qlocationutils.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/positioning/qlocationutils.cpp b/src/positioning/qlocationutils.cpp
index dfb4a890..066732ca 100644
--- a/src/positioning/qlocationutils.cpp
+++ b/src/positioning/qlocationutils.cpp
@@ -97,7 +97,7 @@ static void qlocationutils_readGsa(const char *data,
if (parts.size() <= 2)
return;
bool ok;
- for (int i = 3; i <= qMin(14, parts.size()); ++i) {
+ for (qsizetype i = 3; i < qMin(15, parts.size()); ++i) {
const QByteArray &pnrString = parts.at(i);
if (pnrString.isEmpty())
continue;