From 1c7ed7e73eb49fcaba7ef6b964152d75e445b573 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 11 May 2022 09:35:11 -0700 Subject: Revert "MySQL: pedantism: create and destroy the MYSQL_TIME type" This reverts commit 6feb28918924d80c94b6f435bc3bc981855d59d6. It causes a crash when field.myField is null. Fixes: QTBUG-102489 Pick-to: 6.3 Change-Id: I7e305799c8594ebab255fffd16ee1a41cac8d387 Reviewed-by: Andy Shaw --- src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp index 448247d458..7d738a5045 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp @@ -377,8 +377,6 @@ bool QMYSQLResultPrivate::bindInValues() char *field = bind->buffer_length ? new char[bind->buffer_length + 1]{} : nullptr; bind->buffer = f.outField = field; - if (qIsTimeOrDate(fieldInfo->type)) - new (field) MYSQL_TIME; ++i; } @@ -429,11 +427,9 @@ void QMYSQLResult::cleanup() d->meta = 0; } - for (const auto &field : qAsConst(d->fields)) { - if (qIsTimeOrDate(field.myField->type)) - reinterpret_cast(field.outField)->~MYSQL_TIME(); - delete[] field.outField; - } + int i; + for (i = 0; i < d->fields.count(); ++i) + delete[] d->fields[i].outField; if (d->outBinds) { delete[] d->outBinds; -- cgit v1.2.3