[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 'dev'.
Changed from 6c1a003dbd8b211fefd18b84842d7ffab701ca24 to 2f627140125a0c74441c2d2829403f55928ed298
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 dd4718cd65caca4f458d64a48e8ff4913ba2c953 by Thiago Macieira on 29/07/2026 at 05:08..
QObject: avoid duplicate .loadRelaxed()

They should be collapsed by the compiler *because* they are relaxed,
but in practice compilers aren't that smart about atomics, even in
2026.

Pick-to: 6.12
Change-Id: I38b76438ca12ef9fa202fffd3f7c564843eecef0
Reviewed-by: Fabian Kosmale <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/dd4718cd65caca4f458d64a48e8ff4913ba2c953

Git commit 768b71282c25e793ce5eb1b70d431da9e05b412d by Marc Mutz on 29/07/2026 at 11:35..
QMessageAuthenticationCode: fix UB (nullptr passed to memcpy()) on setKey(nullptr)

QMessageAuthenticationCodePrivate::setKey() (called from the public
class' setKey(), ctor, and static hash() function, so user-accessible)
passed the argument QByteArrayView to QSmallByteArray::assign().

The assign() implementation passed std::data(c) to memcpy, which, if
nullptr, consitutes UB. We actually tested this, but I guess no-one
ever ran this test in ubsan :(

Says ubsan:

  qsmallbytearray_p.h:60:15: runtime error: null pointer passed as argument 2, which is declared to never be null
     #0 0x7f71a61abdd7 in void QSmallByteArray<144ul>::assign<QByteArrayView>(QByteArrayView const&) qsmallbytearray_p.h:60
     #1 0x7f71a61abdd7 in QMessageAuthenticationCodePrivate::setKey(QByteArrayView) qcryptographichash.cpp:1446
     #2 0x7f71a7a2a3bf in QMessageAuthenticationCode::QMessageAuthenticationCode(QCryptographicHash::Algorithm, QByteArrayView) qcryptographichash.cpp:1525
     #3 0x55f144489bf3 in tst_QMessageAuthenticationCode::repeated_setKey() tst_qmessageauthenticationcode.cpp:56
     [...]

Fix by adding a size check before calling memcpy().

Also Extract Method assign_impl() from the assign() function template
to separate the template-argument-dependent parts from the independent
ones (SCARY).

Amends 1fb0dca140c1dbf3e66b322af837b7bf650f2e77 (picked to 6.5).

Pick-to: 6.12 6.11 6.8 6.5
Change-Id: Iad0a33b561aec555c20758b7158192303086c49a
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/768b71282c25e793ce5eb1b70d431da9e05b412d

Git commit 2f627140125a0c74441c2d2829403f55928ed298 by Méven Car on 29/07/2026 at 11:35..
wayland: input context, release the compose table and state

QWaylandInputContext builds an xkb compose table and state the first time a
key is pressed, and its destructor left both of them behind. Release them the
way QComposeInputContext already does.

Found with the address sanitizer, which reports the table as an indirect leak
under xkb_compose_table_new_from_locale.

Change-Id: I221388c4f491a66c6a57dbf1d2f71b9d6fce65d8
Reviewed-by: David Edmundson <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/2f627140125a0c74441c2d2829403f55928ed298
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.