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:
parent
0985c707a9
commit
e69a151573
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user