From ff053b39a3083813f89b1a3b6e735c047c09890f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 16 May 2022 11:57:53 +0200 Subject: Fix int/qsizetype mismatches in qstring.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ChangeLog][QtCore][QString] Fixed result truncation mod INT_MAX in fromStdSstring(), fromStdU16string(), fromStdU32string(), and fromStdWstring(). [ChangeLog][QtCore][QAnyStringView] Fixed result truncation mod INT_MAX in asLatin1StringView(). [ChangeLog][QtCore][QUtf8StringView] Fixed result truncation mod INT_MAX in toString(). Pick-to: 6.3 6.2 Change-Id: I944c561018a6ab4581ad6b1d71ec1ba1accba4a4 Reviewed-by: Sona Kurazyan Reviewed-by: MÃ¥rten Nordheim --- src/corelib/text/qstring.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/corelib/text') diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h index db2759f98b..a176cae038 100644 --- a/src/corelib/text/qstring.h +++ b/src/corelib/text/qstring.h @@ -404,7 +404,7 @@ constexpr QAnyStringView::QAnyStringView(QLatin1StringView str) noexcept constexpr QLatin1StringView QAnyStringView::asLatin1StringView() const { Q_ASSERT(isLatin1()); - return {m_data_utf8, int(size())}; + return {m_data_utf8, size()}; } template @@ -1240,8 +1240,7 @@ ushort QStringView::toUShort(bool *ok, int base) const template QString QBasicUtf8StringView::toString() const { - Q_ASSERT(size() == int(size())); - return QString::fromUtf8(data(), int(size())); + return QString::fromUtf8(data(), size()); } // @@ -1502,7 +1501,7 @@ inline std::string QString::toStdString() const { return toUtf8().toStdString(); } inline QString QString::fromStdString(const std::string &s) -{ return fromUtf8(s.data(), int(s.size())); } +{ return fromUtf8(s.data(), qsizetype(s.size())); } inline std::wstring QString::toStdWString() const { @@ -1513,16 +1512,16 @@ inline std::wstring QString::toStdWString() const } inline QString QString::fromStdWString(const std::wstring &s) -{ return fromWCharArray(s.data(), int(s.size())); } +{ return fromWCharArray(s.data(), qsizetype(s.size())); } inline QString QString::fromStdU16String(const std::u16string &s) -{ return fromUtf16(s.data(), int(s.size())); } +{ return fromUtf16(s.data(), qsizetype(s.size())); } inline std::u16string QString::toStdU16String() const { return std::u16string(reinterpret_cast(data()), length()); } inline QString QString::fromStdU32String(const std::u32string &s) -{ return fromUcs4(s.data(), int(s.size())); } +{ return fromUcs4(s.data(), qsizetype(s.size())); } inline std::u32string QString::toStdU32String() const { -- cgit v1.2.3