diff options
author | Vladimir Belyavsky <[email protected]> | 2024-04-20 19:54:55 +0300 |
---|---|---|
committer | Vladimir Belyavsky <[email protected]> | 2024-04-21 15:09:52 +0000 |
commit | b8d92d2ef8cd1d678a84f97513f7c7c4f1c04786 (patch) | |
tree | 21ce8a51ebafd208d83403826a2a9649caf6e6ca | |
parent | f0f2a9ef2600288b16b69c135389dfe1fea89a8d (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.cpp | 2 |
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); } |