diff options
author | Zhang Yu <zhangyub@uniontech.com> | 2020-12-30 10:57:09 +0800 |
---|---|---|
committer | Zhang Yu <zhangyub@uniontech.com> | 2021-01-06 09:07:10 +0800 |
commit | 22416ecaaf58619c716229b71cdca558fda0a861 (patch) | |
tree | 36d8fd21fed60e29aec9cc1e2199f4f52b65e925 /tests/auto/corelib/tools/qhash/tst_qhash.cpp | |
parent | 13f9e2857bce165de0fff2c7dd25bd4155566801 (diff) |
Fix QMultiHash::equal_range crashes
QMultiHash::equal_range crashes when called in a const member function.
The Data `d` is a NULL pointer when calling equal_range()
before inserting data into an empty QMultiHash.
Then calling`d->find` crashes.
Fixes: QTBUG-89687
Pick-to: 6.0
Change-Id: I10c3d196cbc72aed8c8c922ef16534bba51037b7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/corelib/tools/qhash/tst_qhash.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qhash/tst_qhash.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp index a922ee55fe..014617f8d4 100644 --- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp +++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp @@ -1735,6 +1735,13 @@ void tst_QHash::equal_range() QVERIFY(p2.first == cm1.cbegin() || p2.second == cm1.cend()); } + { + const QMultiHash<int, int> cm2; + auto p1 = cm2.equal_range(0); + QVERIFY(p1.first == cm2.end()); + QVERIFY(p1.second == cm2.end()); + } + QMultiHash<int, int> h2; for (int i = 0; i < 8; ++i) for (int j = 0; j < 8; ++j) |