From e69a151573e34d2dec34fd41d1ab0d833d7a6fa2 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 29 Jan 2024 14:16:46 +0100 Subject: [PATCH] QBitArray: use QDataStream::SizeLimitExeeded where applicable [ChangeLog][QtCore][QBitArray] Uses new QDataStream::Status::SizeLimitExceeded now, where applicable (was: WriteFailed, ReadCorruptData). Change-Id: If5a8db9c6b2f104b40266784d88cf7cad0b0ce73 Reviewed-by: Thiago Macieira Reviewed-by: Ivan Solovev (cherry picked from commit 6504496c646be5ded0318fd4663945c41bb1b02f) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/tools/qbitarray.cpp | 4 ++-- tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp index ad097ce543b..83e5de01898 100644 --- a/src/corelib/tools/qbitarray.cpp +++ b/src/corelib/tools/qbitarray.cpp @@ -897,7 +897,7 @@ QDataStream &operator<<(QDataStream &out, const QBitArray &ba) const qsizetype len = ba.size(); if (out.version() < QDataStream::Qt_6_0) { if (Q_UNLIKELY(len > qsizetype{(std::numeric_limits::max)()})) { - out.setStatus(QDataStream::WriteFailed); // ### SizeLimitExceeded + out.setStatus(QDataStream::Status::SizeLimitExceeded); return out; } out << quint32(len); @@ -933,7 +933,7 @@ QDataStream &operator>>(QDataStream &in, QBitArray &ba) quint64 tmp; in >> tmp; if (Q_UNLIKELY(tmp > quint64((std::numeric_limits::max)()))) { - in.setStatus(QDataStream::ReadCorruptData); // ### SizeLimitExeeded + in.setStatus(QDataStream::Status::SizeLimitExceeded); return in; } len = tmp; diff --git a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp index 21e64246516..1fca2e3b949 100644 --- a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp +++ b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp @@ -113,7 +113,7 @@ void tst_QBitArray::canHandleIntMaxBits() QDataStream ds(&serialized, QIODevice::WriteOnly); ds.setVersion(QDataStream::Qt_5_15); ds << ba; - QCOMPARE(ds.status(), QDataStream::Status::WriteFailed); // ### SizeLimitExceeded + QCOMPARE(ds.status(), QDataStream::Status::SizeLimitExceeded); serialized.clear(); } {