From b8d92d2ef8cd1d678a84f97513f7c7c4f1c04786 Mon Sep 17 00:00:00 2001 From: Vladimir Belyavsky Date: Sat, 20 Apr 2024 19:54:55 +0300 Subject: 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 Reviewed-by: Thiago Macieira --- src/sql/kernel/qsqldatabase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/sql/kernel/qsqldatabase.cpp') 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); } -- cgit v1.2.3