From dc54e8769abec100e15397dda944a404625d6659 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Thu, 23 Jun 2011 15:02:15 +0000 Subject: [PATCH] Prevented SQL injection in function addLinkToDB. --- src/sql/sqlengine.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index 60c0d05..65c2dc5 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -277,10 +277,13 @@ void SqlEngine::addLinkToDB(QHash &aLink) //TODO: check if the link doesn't exist before inserting if (db.isValid() && db.isOpen()) { - // TODO: SQL Injection!!! - QString values = QString("'%1', '%2', '%3', '%4'").arg(aLink["event_id"],aLink["conference_id"],aLink["name"],aLink["url"]); - QString query = QString("INSERT INTO LINK (xid_event, xid_conference, name, url) VALUES (%1)").arg(values); - QSqlQuery result(query, db); + QSqlQuery query(db); + query.prepare("INSERT INTO LINK (xid_event, xid_conference, name, url) VALUES (:xid_event, :xid_conference, :name, :url)"); + query.bindValue(":xid_event", aLink["event_id"]); + query.bindValue(":xid_conference", aLink["conference_id"]); + query.bindValue(":name", aLink["name"]); + query.bindValue(":url", aLink["url"]); + if (!query.exec()) qDebug() << "Error executing 'insert into link' query: " << query.lastError(); //LOG_AUTOTEST(query); } } -- 2.30.2