diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2021-01-08 13:48:51 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2021-01-18 15:55:15 +0100 |
commit | 6ee13db700eecd8dfed54a9ec2d1081b39511562 (patch) | |
tree | 46c103be4c244a58c3bffbb1662642c3f2eaded9 /src | |
parent | 50c63446f525a8625b6315597cb0897d89908d6b (diff) | |
download | qtbase-6ee13db700eecd8dfed54a9ec2d1081b39511562.tar.gz |
Correct string comparison in Android's IANA ID matching code
It used QString.compare() and assumed it was returning a bool true on
equality, when it actually returns an int that compares to 0 as the
given strings compare. So it should use compare() == 0.
This fixes several of QTimeZone's blacklisted tests on Android and a
crasher, which we dodged with a QSKIP. Added an id-comparison to a
test. Gave two local variables more informative names, made an early
return into a QSKIP so it explains itself.
Fixes: QTBUG-89905
Fixes: QTBUG-69122
Fixes: QTBUG-69132
Fixes: QTBUG-87435
Pick-to: 6.0 5.15
Change-Id: Icf18ed5a810143d6e65d36e34a70e82faac10b8e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/time/qtimezoneprivate_android.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/time/qtimezoneprivate_android.cpp b/src/corelib/time/qtimezoneprivate_android.cpp index ba87cf79fe..e182ac27ec 100644 --- a/src/corelib/time/qtimezoneprivate_android.cpp +++ b/src/corelib/time/qtimezoneprivate_android.cpp @@ -108,7 +108,7 @@ void QAndroidTimeZonePrivate::init(const QByteArray &ianaId) // The ID or display name of the zone we've got, if it looks like what we asked for: const auto match = [iana](const QJNIObjectPrivate &jname) -> QByteArray { const QString name = jname.toString(); - if (iana.compare(name, Qt::CaseInsensitive)) + if (iana.compare(name, Qt::CaseInsensitive) == 0) return name.toUtf8(); return QByteArray(); |