diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-05-11 09:35:11 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-05-12 11:52:12 -0700 |
commit | 1c7ed7e73eb49fcaba7ef6b964152d75e445b573 (patch) | |
tree | 173342be38b6c74b60c47b4bda1bc06b0c761c5a | |
parent | 8e07d5095b3493c4d938991cc219ed73f5a8185f (diff) |
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 <andy.shaw@qt.io>
-rw-r--r-- | src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 10 |
1 files 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<MYSQL_TIME *>(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; |