diff options
author | Mate Barany <mate.barany@qt.io> | 2022-08-11 15:01:17 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-08-17 14:38:30 +0000 |
commit | 095a4132612496589e643f691d85625fc143a33c (patch) | |
tree | 5f4c07dd5c68b44f8c3a3999c43f16c76dcabfe2 | |
parent | acdd89c2f6ebd836f0a7f48d7bec5d585a73108a (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.cpp | 2 |
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; |