diff options
| author | Marc Mutz <marc.mutz@qt.io> | 2025-08-27 14:25:10 +0200 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@qt.io> | 2025-08-27 23:25:09 +0200 |
| commit | 757dc6770084028280fd2f2f0fa24b53b00c7764 (patch) | |
| tree | 8e1919f178d6e0f0f7dda775f4a6ae335ed58cb0 /src/plugins/platforms/android/qandroidplatformopenglwindow.cpp | |
| parent | 94d1325b6662bcb8e3591e8f297a2596edbb486d (diff) | |
QUtf8: fix UB (passing nullptr to memcmp()) in U8-U8 comparison code
Found by UBSan:
qstringconverter.cpp:1105:23: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x7ff9f7b52067 in QUtf8::compareUtf8(QByteArrayView, QByteArrayView, Qt::CaseSensitivity) qstringconverter.cpp:1105
#1 0x7ff9f8ecc02b in QtPrivate::compareStrings(QBasicUtf8StringView<false>, QBasicUtf8StringView<false>, Qt::CaseSensitivity) qstring.cpp:1581
#2 0x5571d65b426b in QBasicUtf8StringView<false>::compare(QBasicUtf8StringView<false>, QBasicUtf8StringView<false>) qutf8stringview.h:392
#3 0x5571d65b426b in compareThreeWay(QBasicUtf8StringView<false> const&, QBasicUtf8StringView<false> const&) qutf8stringview.h:406
#4 0x5571d65b426b in operator<=>(QBasicUtf8StringView<false> const&, QBasicUtf8StringView<false> const&) qutf8stringview.h:409
#5 0x5571d65b426b in tst_QUtf8StringView::relationalOperators() tst_qutf8stringview.cpp:665
Fix by also checking rhs for emptiness before proceeding with the main
body of the function.
Amends b977ae371a753a82e1d0bb32c5b62099da663721.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I895ea56f1bf05b7306f871552bce5c5d6c179ff4
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformopenglwindow.cpp')
0 files changed, 0 insertions, 0 deletions
