summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Belyavsky <[email protected]>2024-04-20 19:54:55 +0300
committerVladimir Belyavsky <[email protected]>2024-04-21 15:09:52 +0000
commitb8d92d2ef8cd1d678a84f97513f7c7c4f1c04786 (patch)
tree21ce8a51ebafd208d83403826a2a9649caf6e6ca
parentf0f2a9ef2600288b16b69c135389dfe1fea89a8d (diff)
SQL: avoid potential detach in QtSqlGlobals dtor
Wrap `connections` to std::as_const() to avoid unexpected detach due to use of QHash::asKeyValueRange() in range-based for loop. Change-Id: I2bf69782dc9dc63df0b3f9dfe395427909fba310 Reviewed-by: Christian Ehrlicher <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
-rw-r--r--src/sql/kernel/qsqldatabase.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp
index da5c51e770f..81c0aeec038 100644
--- a/src/sql/kernel/qsqldatabase.cpp
+++ b/src/sql/kernel/qsqldatabase.cpp
@@ -122,7 +122,7 @@ QSqlDatabasePrivate::~QSqlDatabasePrivate()
QtSqlGlobals::~QtSqlGlobals()
{
qDeleteAll(registeredDrivers);
- for (const auto &[k, v] : connections.asKeyValueRange())
+ for (const auto &[k, v] : std::as_const(connections).asKeyValueRange())
QSqlDatabasePrivate::invalidateDb(v, k, false);
}