diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2020-01-27 13:12:45 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2020-02-05 10:23:43 +0100 |
commit | 41b2c477b771e7c214d09138af1a48701f573912 (patch) | |
tree | 40859456598150a6970bb9fd7441db2009286465 /src/corelib/text/qcollator_icu.cpp | |
parent | 056230cc9c3309823a93df0e34c92affb29df9e4 (diff) |
Take care of NULL data from QStringView in QCollator
Back-ends need to catch NULL data so as not to call system APIs with
invalid pointers.
[ChangeLog][QtCore][QCollator] Fixed a regression introduced in 5.14.0
that caused QCollator not to operate with default-constructed QStrings
and print a warning on Windows.
Fixes: QTBUG-81673
Change-Id: I2eafe1e188b436afcca3cf2ecdf98bba707c44c9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/text/qcollator_icu.cpp')
-rw-r--r-- | src/corelib/text/qcollator_icu.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/text/qcollator_icu.cpp b/src/corelib/text/qcollator_icu.cpp index 8acda45070..0dca1ee9c9 100644 --- a/src/corelib/text/qcollator_icu.cpp +++ b/src/corelib/text/qcollator_icu.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Copyright (C) 2013 Aleix Pol Gonzalez <aleixpol@kde.org> ** Contact: https://www.qt.io/licensing/ ** @@ -109,6 +109,11 @@ void QCollatorPrivate::cleanup() int QCollator::compare(QStringView s1, QStringView s2) const { + if (!s1.size()) + return s2.size() ? -1 : 0; + if (!s2.size()) + return +1; + if (d->dirty) d->init(); |