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. Fixes: QTBUG-105078 Change-Id: Ic2f76c82c246e1e9eaf1d3f907d11fc345b5655e Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> (cherry picked from commit f9d002ea20e7d5075313e9dcc769ed5348d2b829) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
29991ceeaf
commit
ee37e7c69a
@ -1469,7 +1469,7 @@ QString QMYSQLDriver::formatValue(const QSqlField &field, bool trimStrings) cons
|
|||||||
QVarLengthArray<char, 512> buffer(ba.size() * 2 + 1);
|
QVarLengthArray<char, 512> buffer(ba.size() * 2 + 1);
|
||||||
auto escapedSize = mysql_real_escape_string(d->mysql, buffer.data(), ba.data(), ba.size());
|
auto escapedSize = mysql_real_escape_string(d->mysql, buffer.data(), ba.data(), ba.size());
|
||||||
r.reserve(escapedSize + 3);
|
r.reserve(escapedSize + 3);
|
||||||
r = u'\'' + QString::fromUtf8(buffer) + u'\'';
|
r = u'\'' + QString::fromUtf8(buffer.data(), escapedSize) + u'\'';
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
qWarning("QMYSQLDriver::formatValue: Database not open");
|
qWarning("QMYSQLDriver::formatValue: Database not open");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user