diff options
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r-- | tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp | 12 |
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; |