From f9d002ea20e7d5075313e9dcc769ed5348d2b829 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Tue, 19 Jul 2022 21:28:35 +0200 Subject: MySQL plugin: fix escaping a QByteArray 1df974590f19dec7b632d000ab9408a4de6f117a introduced a regression which kills the escaping of a QByteArray because QString::fromUtf8() gets a wrong length from a QVarLengthArray. Pick-to: 6.4 Fixes: QTBUG-105078 Change-Id: Ic2f76c82c246e1e9eaf1d3f907d11fc345b5655e Reviewed-by: Samuel Gaist --- src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/plugins') diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp index 39e797d9b9..450d551ac5 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp @@ -1469,7 +1469,7 @@ QString QMYSQLDriver::formatValue(const QSqlField &field, bool trimStrings) cons QVarLengthArray buffer(ba.size() * 2 + 1); auto escapedSize = mysql_real_escape_string(d->mysql, buffer.data(), ba.data(), ba.size()); r.reserve(escapedSize + 3); - r = u'\'' + QString::fromUtf8(buffer) + u'\''; + r = u'\'' + QString::fromUtf8(buffer.data(), escapedSize) + u'\''; break; } else { qWarning("QMYSQLDriver::formatValue: Database not open"); -- cgit v1.2.3