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 <thiago.macieira@intel.com>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 6504496c646be5ded0318fd4663945c41bb1b02f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Marc Mutz 2024-01-29 14:16:46 +01:00 committed by Qt Cherry-pick Bot
parent 0985c707a9
commit e69a151573
2 changed files with 3 additions and 3 deletions

View File

@ -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<qint32>::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<qsizetype>::max)()))) {
in.setStatus(QDataStream::ReadCorruptData); // ### SizeLimitExeeded
in.setStatus(QDataStream::Status::SizeLimitExceeded);
return in;
}
len = tmp;

View File

@ -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();
}
{