summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r--tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
index 7f33c6060b..21e6424651 100644
--- a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
+++ b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
@@ -94,8 +94,9 @@ void tst_QBitArray::canHandleIntMaxBits()
});
try {
- constexpr int Size1 = INT_MAX - 2;
- constexpr int Size2 = Size1 + 2;
+ constexpr qsizetype Size1 = sizeof(void*) > sizeof(int) ? qsizetype(INT_MAX) + 2 :
+ INT_MAX - 2;
+ constexpr qsizetype Size2 = Size1 + 2;
QBitArray ba(Size1, true);
QCOMPARE(ba.size(), Size1);
@@ -108,6 +109,13 @@ void tst_QBitArray::canHandleIntMaxBits()
QCOMPARE(ba.at(Size2 - 1), false);
QByteArray serialized;
+ if constexpr (sizeof(void*) > sizeof(int)) {
+ QDataStream ds(&serialized, QIODevice::WriteOnly);
+ ds.setVersion(QDataStream::Qt_5_15);
+ ds << ba;
+ QCOMPARE(ds.status(), QDataStream::Status::WriteFailed); // ### SizeLimitExceeded
+ serialized.clear();
+ }
{
QDataStream ds(&serialized, QIODevice::WriteOnly);
ds << ba;