summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
diff options
context:
space:
mode:
authorAndrei Golubev <andrei.golubev@qt.io>2021-03-11 10:01:04 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-03-14 20:34:04 +0000
commit3c224d11228f2560d99078d5f0bf91237657def1 (patch)
tree132c708b8c2eebe5ab67955e42c7804650b5d3f8 /tests/auto/corelib/tools
parent0680c87856da963573a4463ea99caf1fd2abf328 (diff)
Fix QMultiHash::count(key) crash
As QMultiHash uses a pointer for the data, nullptr dereference is a thing, so check for valid d before doing anything in count() Fixes: QTBUG-91704 Change-Id: Ia20440cd7bdc03cb09c77f796fb9c5b52765eac5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f226854d256a382a5cc7ff08b10a0d27fbefb0fe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r--tests/auto/corelib/tools/qhash/tst_qhash.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp
index 014617f8d4..079b9c6ab7 100644
--- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp
+++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp
@@ -80,6 +80,8 @@ private slots:
void hashOfHash();
void stdHash();
+
+ void countInEmptyHash();
};
struct IdentityTracker {
@@ -1976,5 +1978,18 @@ void tst_QHash::stdHash()
QVERIFY(!strings.contains("z"));
}
+void tst_QHash::countInEmptyHash()
+{
+ {
+ QHash<int, int> hash;
+ QCOMPARE(hash.count(42), 0);
+ }
+
+ {
+ QMultiHash<int, int> hash;
+ QCOMPARE(hash.count(42), 0);
+ }
+}
+
QTEST_APPLESS_MAIN(tst_QHash)
#include "tst_qhash.moc"