diff options
author | Karim Pinter <karim.pinter@digia.com> | 2013-08-26 11:07:15 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-21 17:30:13 +0200 |
commit | 8bdf319c28ae7844f8cdbf0af26c8bfc78ea50cc (patch) | |
tree | 172db8a781708548454b488dcb5b5b0d1dff9835 /src/sql | |
parent | 2983cb9531d47e5826540ca79e3066a8ed0db30c (diff) |
Fix for bindvalue(int) memory allocation problem
QSqlResult::bindValue(int index, ...) is increasing the memory usage
when called multiple times for same index
Task-number: QTBUG-33169
Change-Id: I4f26125f6bb994bb430dc054df5761b6ddf03075
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Diffstat (limited to 'src/sql')
-rw-r--r-- | src/sql/kernel/qsqlresult.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 6959dc39f7..09b8f8d889 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -688,7 +688,9 @@ void QSqlResult::bindValue(int index, const QVariant& val, QSql::ParamType param { Q_D(QSqlResult); d->binds = PositionalBinding; - d->indexes[d->fieldSerial(index)].append(index); + QList<int>& indexes = d->indexes[d->fieldSerial(index)]; + if (!indexes.contains(index)) + indexes.append(index); if (d->values.count() <= index) d->values.resize(index + 1); d->values[index] = val; |