From 22416ecaaf58619c716229b71cdca558fda0a861 Mon Sep 17 00:00:00 2001 From: Zhang Yu Date: Wed, 30 Dec 2020 10:57:09 +0800 Subject: 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 --- src/corelib/tools/qhash.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/corelib/tools/qhash.h') diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index 4b4235aa99..b3c389903a 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -1901,6 +1901,9 @@ public: QPair equal_range(const Key &key) const noexcept { + if (!d) + return qMakePair(end(), end()); + auto it = d->find(key); if (it.isUnused()) return qMakePair(end(), end()); -- cgit v1.2.3