[qt/qt/qtbase]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtbase
Pushed by mirror-service into branch '6.11'.
Changed from 805946b5c9851707eac2265dd3d1cdde3b54656e to 6890a7e23a66c9f2012ee6462573f55c3ae483d8
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit e26d95e955d8e21cda5357aa1114980bfce97aed by Edward Welbourne on 28/07/2026 at 15:09..
Fix serialization of dates to put a sign on >4-digit years

Various standards allow a year with more than four digits but insist
on a sign if it's beyond some length to be agreed between the parties
using the format for exchange of data; this ends up being 4 in
practice, which is assumed by the new temporal data parser.

Serialization's neglect of this previously went unnoticed because the
old parser rejected years with more than 4 digits, regardless of sign.
Added some test-cases for round-tripping of dates at the ends of the
range QDateTime can represent (albeit QDate can represent more).
Discovered by new benchmarks provided by Vadim Vysokoostrovskiy.

On picking to 6.11, remove the new test as the old QDateTimeParser
can't handle years with more than four digits anyway.

Pick-to: 6.8
Task-number: QTBUG-77948
Change-Id: I3081b6c5eef1c13155113e2c557caf9ae1c311b9
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 5563df5a8504b06cc8b6b51d8a24fd195ec4acc8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 9284b97becd481aa63c9b22da88d0c7ff2a5a2b3)
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/e26d95e955d8e21cda5357aa1114980bfce97aed

Git commit cae98a5a7b7abdea1901d08e202fef02e5b6d5a1 by Edward Welbourne on 28/07/2026 at 15:09..
Guard against overflow in QJalaliCalendar::isLeapYear()

In case year is large enough that multiplying by 683 may overflow,
first reduce it mod 2820 before doing the arithmetic whose result will
again be reduced mod that. Credit to OSS-Fuzz (issue 522989107) for
spotting the problem.

Add test cases for temporal parser and QDateTime based on the fuzzer
test-case for the latter that caught it. These tests shall only work
from 6.12, as older versions could not parse years with more than four
digits.

As anticipated above, on picking to 6.11, skip the test additions; the
direct tests of QtParseTemporal::prefix() becaue that function isn't
present and the tests via QDateTime because the old parser doesn't
support large year values.

Pick-to: 6.8
Fixes: QTBUG-147418
Change-Id: Ife1ec2dbf991596ffd2a51a5f6221b94ff5affad
Reviewed-by: Mate Barany <[email protected]>
(cherry picked from commit 5b9849c62c8336ea75954d16544478acd022d267)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0f0b050f0182eb907070439fde10c3bdce89daf0)
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/cae98a5a7b7abdea1901d08e202fef02e5b6d5a1

Git commit 8fe606a865bbf113d2b2aadb1f4868327b9ef29f by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: harden nine-patch style parsing against malformed data

The nine-patch drawable reader trusts the division and colour
arrays that ExtractStyle produces from the device theme. On
malformed or empty chunk data it read past the arrays and could
divide by zero:

- draw() read xDivs[0]/yDivs[0] with no empty check
- the stretchy-pixel pair loops read xDivs[i+1] with odd count
- the draw loop indexed colors[] with no bound
- calculateStretch() divided by the remaining stretchy pixels

Guard each by bailing to a plain stretched draw on empty
divisions, stop the pair loops one short, bound the colour
index, and guard the zero denominator.

Fixes: QTBUG-148431
Pick-to: 6.8
Change-Id: I52125b94196180b3695801ac9334a51e9e57cfb7
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit 24f8e51238720d4211bc739829dc63bc453d921c)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 8ae6a631f5c1f2e84d235dc350b8437f7ff34de8)
https://invent.kde.org/qt/qt/qtbase/-/commit/8fe606a865bbf113d2b2aadb1f4868327b9ef29f

Git commit 68a03e85c06f5b9c67551acebb5580e47ec2c168 by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: bound array reads in ExtractStyle nine-patch export

getJsonChunkInfo() read the div and colour counts from the native
chunk header and copied that many ints without checking the array
length, so a short or malformed chunk threw
ArrayIndexOutOfBounds. Clamp getJsonArray() to the array length
and require a header of at least three ints.

Fixes: QTBUG-148432
Pick-to: 6.8
Change-Id: Ic9d172ccb875d3ab8a944c5d4f7af623a83ca511
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit d9994441dd6d2bb8d8adf1ff2be47910370fb30f)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit bc23016f0a4da1d6d977cf73d00da56a2ac57f63)
https://invent.kde.org/qt/qt/qtbase/-/commit/68a03e85c06f5b9c67551acebb5580e47ec2c168

Git commit 34eade4009d00e6d64fe68bfdee140635aad2a6c by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: fix off-by-one in content file engine iterator

AndroidContentFileEngineIterator::currentFileName() and
AndroidContentFileEngineIterator::currentFilePath() guarded
with m_index > m_files.size(), so at m_index == size() they
called QList::at(size()), one past the end. Use >= instead.

Fixes: QTBUG-148430
Pick-to: 6.8
Change-Id: I392a8508dd2b51cd9a6b1ea226ac20d4bf0475c3
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit b19b57339bd20a79ca96459cd9cbd42617f771e6)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit e5032c202d7b546d13787f1ddaafbe7396655c48)
https://invent.kde.org/qt/qt/qtbase/-/commit/34eade4009d00e6d64fe68bfdee140635aad2a6c

Git commit c51bf1f0a919717a4cbe823ad2c1fb33db4c7763 by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: read content cursor BLOB via QJniArray

The BLOB column reader used raw GetArrayLength and
GetByteArrayElements with no null check on the array and no
exception-safe release, so a null or oversized blob from a
content provider could crash or leak the pinned array.

Read it with callMethod<QByteArray>, which bounds-checks and
manages the reference.

Fixes: QTBUG-148429
Change-Id: I542657c82c81427198142ada1e9cd7ebe08f02c1
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit 90449da456026abc9d6392470e732fc03696bac3)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 744624ad419331e4174d7486581636b87823853d)
https://invent.kde.org/qt/qt/qtbase/-/commit/c51bf1f0a919717a4cbe823ad2c1fb33db4c7763

Git commit 65cfb076280c42220a9cfca81f380a95967923aa by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: don't log IME text content

The input-method debug category logged various forms
of plain text, which includes password-field content when
the category is enabled. Log only the lengths and positions,
never the text.

Fixes: QTBUG-148433
Pick-to: 6.8
Change-Id: I326872faf256889211c2eda16316c25b1bda33ce
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit b11af1ce32e3d55b49c4106d2722f4f3b04bd5b3)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit df6b010d3f3d2f8328bd179e32a5e27e6dc79428)
https://invent.kde.org/qt/qt/qtbase/-/commit/65cfb076280c42220a9cfca81f380a95967923aa

Git commit d6cc9d8c44cc52d66fc199aeb5172c139c0be11f by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
Android: gate applicationArguments extra behind debuggable

The base QtLoader appended the applicationArguments intent
extra to the app argv unconditionally. QtActivity is exported,
so another app could launch it with that extra and inject Qt
command-line arguments in a release build. Honour it only when
the app is debuggable, matching the extraappparams handling,
and check the key is present.

Fixes: QTBUG-148439
Pick-to: 6.8
Change-Id: I20cf24f332dd9933490a842c572f77edc03c8dea
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit 6eb0fa5735ca192986007f19d8eddf7e0e4fc012)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit d25cd530faee01e927e86ce58ec2cde823d45c0c)
https://invent.kde.org/qt/qt/qtbase/-/commit/d6cc9d8c44cc52d66fc199aeb5172c139c0be11f

Git commit 255de6574a9e3be838359e560b245461f4aaa609 by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
JNI: return empty QString for a null jstring

toQString() only asserted the string was non-null, then called
GetStringLength on it, so a null jstring crashed in release
builds.

Return an empty QString instead.

Fixes: QTBUG-148445
Pick-to: 6.8
Change-Id: Ib876e06734029f24f8ce9582c41d7ab7d594aff6
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit a0e9c43ae87d41ee8425e810fca6a1f126806e79)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 14aa81594a1b6a63e6b3e91f5f6c9de60ebd7dd6)
https://invent.kde.org/qt/qt/qtbase/-/commit/255de6574a9e3be838359e560b245461f4aaa609

Git commit 6890a7e23a66c9f2012ee6462573f55c3ae483d8 by Qt Cherry-pick Bot (on behalf of Assam Boudjelthia) on 28/07/2026 at 19:32..
JNI: clear pending exceptions in QJniArray element access

QJniArray::at() and setValue() called the array element get/set
JNI functions without checking for a pending exception, so an
out-of-range index left an exception set that would corrupt the
next JNI call.

Check and clear after the get and set paths.

Fixes: QTBUG-148446
Pick-to: 6.8
Change-Id: Ib982dda48d353e6037cfa2ddc504a053711c8c26
Reviewed-by: Soheil Armin <[email protected]>
(cherry picked from commit 7f6daac1ebc1a837e19adf799a4b367ec0166de7)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 6f9ab990d49757cd2e8c4200e9ada43431ac5692)
https://invent.kde.org/qt/qt/qtbase/-/commit/6890a7e23a66c9f2012ee6462573f55c3ae483d8
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.