qt5base-lts/tests/auto
Marc Mutz 4b0261fed0 tst_QFuture: fix UB (call of member function on wrong object)
By the time QObject::destroyed() is emitted from ~QObject(), sender no
longer is-a SenderObject, only a QObject, so calling a SenderObject
member function on it is UB.

Says UBSan:

    tst_qfuture.cpp:3854:84: runtime error: member call on address 0x60200000e550 which does not point to an object of type 'SenderObject'
     0x60200000e550: note: object is of type 'QObject'
      00 00 00 00  e8 3f 96 c9 51 7f 00 00  80 3e 00 00 c0 60 00 00  02 11 00 00 08 00 00 00  16 00 00 72
                   ^~~~~~~~~~~~~~~~~~~~~~~
                   vptr for 'QObject'

Fix by removing the QObject::connect().

This, of course, breaks the test's WHEN, but I don't see how to keep
that WHEN without the UB. At least the THEN part is not invalidated,
and there doesn't appear to be another test that tests that destroying
objects before signal emission results in a cancelled future.

Amends 612f6999c8.

Pick-to: 6.6 6.5 6.2
Change-Id: I38ca4611c071e8fd200393b600210e36d4030bc6
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2023-07-21 19:00:05 +02:00
..
bic/data Add binary compatibility file built against 6.5.0 2023-04-19 15:40:36 +00:00
cmake Fix handling of QT_PATH_ANDROID_ABI_xxxx in android multi-abi tests 2023-07-04 16:53:16 +02:00
concurrent CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
corelib tst_QFuture: fix UB (call of member function on wrong object) 2023-07-21 19:00:05 +02:00
dbus Fix spelling of D-Bus in the source code 2023-07-06 21:51:29 +02:00
gui QIcon: use fallback also with platform icon engine 2023-07-21 09:22:46 +02:00
guiapplauncher Move Weather Anchor Layout example to manual tests 2023-03-02 05:55:57 +01:00
network tst_QHostInfo: fix mem-leaks in threadSafetyAsynchronousAPI() 2023-07-19 04:52:28 +00:00
opengl tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
other a11y: Report app as parent for top-level item views 2023-07-10 11:34:41 +02:00
printsupport CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
shared tests: remove PlatformInputContext::filterEvent() 2023-01-18 13:21:06 +01:00
sql SQL/SQLite: add case folding for non-ascii characters 2023-07-08 00:08:44 +02:00
testlib tst_QAbstractItemModelTester: fix mem-leak 2023-07-18 12:13:30 +02:00
tools qdbusxml2cpp: Improve error reporting 2023-07-06 21:51:25 +02:00
wasm CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
widgets tests: blacklist tst_QGraphicsItem::itemUsesExtendedStyleOption() on Wayland 2023-07-18 08:25:41 +02:00
xml CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
CMakeLists.txt CI: Enable tests under corelib/text for Wasm platform 2023-07-10 14:53:34 +02:00
network-settings.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00